Wiki

Ticket #8: forDeprec1.patch

File forDeprec1.patch, 20.8 KB (added by hopscc, 16 years ago)
  • Source/Members.cobra

     
    261261        otherParams = member.params 
    262262        if params.count <> otherParams.count 
    263263            return false 
    264         for i = 0 .. params.count 
     264        for i in 0 : params.count 
    265265            if params[i].type <> otherParams[i].type 
    266266                return false 
    267267        return true 
     
    686686            name.length 
    687687            .findLocal(name) 
    688688        body 
    689             for i = 0 .. _locals.count 
     689            for i in 0 : _locals.count 
    690690                if _locals[i].name==name 
    691691                    _locals.removeAt(i) 
    692692                    break 
     
    17171717        # sanity check that members don't have the same signature 
    17181718        #if name <> 'getType'  # TODO: HACK: See Box.prepSystemObjectClass 
    17191719        # TODO: having problems with explicit interface implementation. I think these probably should have their name changed from "foo" to "Type.foo" 
    1720         #   for i = 0 .. _members.count 
    1721         #       for j = i+1 .. _members.count 
     1720        #   for i in 0 : _members.count 
     1721        #       for j in i+1 : _members.count 
    17221722        #           assert not _members[i].matchesSignature(_members[j]) 
    17231723        # rename the test members of the overload by suffixing them with '_o1' '_o2' etc. 
    17241724 
     
    19431943                                # parameter names can be different 
    19441944                                sw.write('{\n') 
    19451945                                sw.indent 
    1946                                 for i = 0 .. _codeMember.params.count 
     1946                                for i in 0 : _codeMember.params.count 
    19471947                                    ourParam = _codeMember.params[i] 
    19481948                                    ancestorParam = curCodeMember.params[i] 
    19491949                                    if ourParam.name <> ancestorParam.name  # this is the problem`; name mismatch 
     
    19661966            # at this point in C# code, all requirements have failed 
    19671967            if n > 1 
    19681968                sw.write('throw re1;\n') 
    1969             for m = 1 .. n 
     1969            for m in 1 : n 
    19701970                sw.dedent 
    19711971                sw.write('}\n') 
    19721972                count -= 1 
  • Source/Tokenizer.cobra

     
    721721                    t.sort 
    722722                    if v 
    723723                        print '{[key]}' 
    724                         for i = 0 .. t.count 
     724                        for i in 0 : t.count 
    725725                            print '  [i]. [t[i]]' 
    726726            _tokenDefsStack.push(TokenDefSet(defs, defsByWhich, defsByFirstChar)) 
    727727            _tokenDefs = defs 
  • Source/Expr.cobra

     
    207207            else 
    208208                sugg = ' There are members with similar names including ' 
    209209                sep = '' 
    210                 for i = 0 .. suggs.count 
     210                for i in 0 : suggs.count 
    211211                    sugg += '[sep]"[suggs[i]]"' 
    212212                    sep = if(i<suggs.count-2, ', ', ' and ') 
    213213                sugg += '.' 
     
    723723                                        else 
    724724                                            .throwError('The method "[definition.name]" is expecting [params.count] argument[Utils.plural(params)], but [args.count] are being supplied in this call.') 
    725725                                    if check 
    726                                         for i = 0 .. args.count 
     726                                        for i in 0 : args.count 
    727727                                            arg = args[i] 
    728728                                            param = params[i] 
    729729                                            if arg.hasError 
     
    13961396                params = indexer.params 
    13971397                if args.count <> params.count 
    13981398                    .throwError('The method "[_definition.name]" is expecting [params.count] argument[Utils.plural(params)], but [args.count] are being supplied in this call.') 
    1399                 for i = 0 .. args.count 
     1399                for i in 0 : args.count 
    14001400                    arg = args[i] 
    14011401                    param = params[i] 
    14021402                    if arg.hasError 
  • Source/Boxes.cobra

     
    4545        base.init(token, name, isNames, docString) 
    4646        _attribs = attribs 
    4747        _genericParams = paramList 
    48         for i = 0 .. _genericParams.count 
     48        for i in 0 : _genericParams.count 
    4949            p = _genericParams[i] 
    5050            if p inherits GenericParam 
    5151                p.index = i 
     
    320320 
    321321        # okay to sort by alpha, but if a name differs only by case, put it up front 
    322322        lowerName = name.toLower 
    323         for i = 0 .. suggs.count 
     323        for i in 0 : suggs.count 
    324324            if suggs[i].toLower == lowerName 
    325325                sugg = suggs[i] 
    326326                suggs.removeAt(i) 
     
    789789 
    790790            # TODO: can take this out. it's just a check that the above comparison is working. 2007-12-08 
    791791            equal = true 
    792             for i = 0 .. typeArgs.count 
     792            for i in 0 : typeArgs.count 
    793793                if typeArgs[i] <> .genericParams[i] 
    794794                    equal = false 
    795795                    break 
     
    830830            t._clrType = nil  # The constructed type is really sourced from the generic def. Don't foster confusion with a reference to the original generic def's clr type (if there is one). 
    831831            t.cloneCollections 
    832832            # set the contructed type args immediately or its ancestors will get the original generic args during _bindInt: 
    833             for i = 0 .. typeArgs.count 
     833            for i in 0 : typeArgs.count 
    834834                t._genericParams[i] = typeArgs[i] 
    835835            assert t._constructedTypes is nil or t._constructedTypes.count == 0 
    836836            if .didBindInt 
     
    882882 
    883883            _baseClass = _baseClass.secondaryConstructedTypeFor(this, gpToType) to Class 
    884884            assert _baseInterfaceProxies.count == 0 or _baseInterfaceProxies.count == _baseInterfaces.count 
    885             for i = 0 .. _baseInterfaces.count 
     885            for i in 0 : _baseInterfaces.count 
    886886                _baseInterfaces[i] = _baseInterfaces[i].secondaryConstructedTypeFor(this, gpToType) to Interface 
    887887 
    888888            # construct the declarations 
  • Source/BinaryOpExpr.cobra

     
    339339            sharpNames = _left.sharpAssignmentNames 
    340340            if sharpNames and sharpNames.count 
    341341                sharpNames.reverse 
    342                 for i = 0 .. sharpNames.count 
     342                for i in 0 : sharpNames.count 
    343343                    sw.write(if(i==0, '', '=')) 
    344344                    assert sharpNames[i].length 
    345345                    sw.write(sharpNames[i]) 
  • Source/Node.cobra

     
    837837                            iw.writeLine('') 
    838838                            iw.indent 
    839839                            try 
    840                                 for i = 0 .. value.count 
     840                                for i in 0 : value.count 
    841841                                    iw.write('[i]=') 
    842842                                    if (node = value[i]) inherits Node 
    843843                                        node._writeDeepString(iw, node, doMin, doRef, doSub) 
  • Source/Module.cobra

     
    6060        if false 
    6161            # kind of silly, but it works: 
    6262            d = Dictionary<of int, int>() 
    63             for i = 1 .. Utils.countChars(File.readAllText(_sharpFileName), c'\n')+1 
     63            for i in 1 : Utils.countChars(File.readAllText(_sharpFileName), c'\n')+1 
    6464                d[i] = i 
    6565            return d     
    6666        return nil 
  • Source/IndentedWriter.cobra

     
    154154    def _setTotalIndentString 
    155155        is protected 
    156156        sb = StringBuilder() 
    157         for i = 0 .. _indentLevel 
     157        for i in 0 : _indentLevel 
    158158            sb.append(_indentString) 
    159159        _totalIndentString = sb.toString 
    160160 
  • Source/CobraLang.cobra

     
    10421042            if obj.getType.name.startsWith('List`') 
    10431043                dobj = obj to dynamic 
    10441044                count = dobj.count to int 
    1045                 for j = 0 .. count 
     1045                for j in 0:count 
    10461046                    try 
    10471047                        value = dobj[j] 
    10481048                    catch exc as Exception 
     
    11791179            _args = $sharp(r'(object[])args.Clone()') 
    11801180            _locals = Dictionary<of String, dynamic?>() 
    11811181            _localNamesInOrder = List<of String>() 
    1182             for j = 0 .. _args.length ++ 2 
     1182            for j in 0:_args.length:2 
    11831183                .setLocal(_args[j] to String, _args[j+1]) 
    11841184 
    11851185        def setLocal(name as String, value as dynamic?) 
     
    11911191            nameWidth = 8 
    11921192            tw.writeLine('\n    [i]. [this]') 
    11931193            tw.writeLine('        args') 
    1194             for j = 0 .. _args.length ++ 2 
     1194            for j in 0:_args.length:2 
    11951195                tw.write(String.format('               {0} = ', (_args[j] to String).padRight(nameWidth))) 
    11961196                try 
    11971197                    s = CobraCore.toTechString(_args[j+1]) 
     
    12191219            tw.writeLine('<tr class=frameHead> <td class=number> [i]. </td> <td class=qualifiedMember colspan=4> [_declClassName].[_methodName] </td> </tr> ') 
    12201220            tw.writeLine('<tr class=frameDetails1> <td class=indent> &nbsp; </td> <td class=label width=1> at: </td> <td class=sourceLocation colspan=3> [SourceSite.htmlForAtArgs(_fileName, _lineNum)] </td> </tr>') 
    12211221            rowNum = 1 
    1222             for j = 0 .. _args.length ++ 2 
     1222            for j in 0:_args.length:2 
    12231223                name = _args[j] to String 
    12241224                value = _args[j+1] to dynamic? 
    12251225                label = if(j==0, 'args:', '') 
  • Source/CobraParser.cobra

     
    204204        try 
    205205            tokens = tokenizer.startSource(_fileName, source).allTokens 
    206206            _tokens = List<of IToken>(tokens.count) 
    207             for i = 0 .. tokens.count 
     207            for i in 0 : tokens.count 
    208208                if tokens[i].text == '_' and tokens[i].which == 'ID' 
    209209                    if i < tokens.count-1 and tokens[i+1].which == 'EOL' 
    210210                        i += 1 
     
    733733        """ 
    734734        name = token.text.trim 
    735735        if token.which=='OPEN_GENERIC' 
    736             for i = 0 .. paramList.count-1 
     736            for i in 0 : paramList.count-1 
    737737                name += ',' 
    738738            name += '>' 
    739739        return name 
     
    18761876        deprecated 2008-03: the use of .. and ++ just doesn't relate to anything 
    18771877        See forEnumerableStmt below. 
    18781878        """ 
     1879        _warning("\nNumericForStatement by assignment (for var = start .. stop) deprecated 2008-03." + _ 
     1880                  " Please change to use new form (for var in start:stop:step) before 2009-03") 
    18791881        .expect('ASSIGN') 
    18801882        start = .expression 
    18811883        .expect('DOTDOT') 
  • Source/Types.cobra

     
    565565                parts = name.split(c'`') 
    566566                count = int.parse(parts[1]) to int 
    567567                cobraName = parts[0] + '<of' 
    568                 for i = 1 .. count 
     568                for i in 1 : count 
    569569                    cobraName += ',' 
    570570                cobraName += '>' 
    571571                _cobraNameForSharpGenericNameCache[name] = cobraName 
     
    21182118            _fullName = fullName 
    21192119            _typeRefName = _rootName + '<of' 
    21202120            # TODO: String(c',', _typeNodes.count-1) ? 
    2121             for i = 0 .. _typeNodes.count-1 
     2121            for i in 0 : _typeNodes.count-1 
    21222122                _typeRefName += ',' 
    21232123            _typeRefName += '>' 
    21242124            _name = _typeRefName 
  • Source/dump-stack.cobra

     
    1919        sum = x + y 
    2020        name = 'aoeu' 
    2121        c = _customer = Customer('Castlewood Consulting', 1042.17) 
    22         for i = 0 .. 3 
     22        for i in 0 : 3 
    2323            print i 
    2424        for j in [0, 1, 2] 
    2525            print j 
  • Source/TestifyRunner.cobra

     
    423423            catch StopCompilation 
    424424                assert c.errors.count 
    425425                expectedErrors = error.split(c'&') 
    426                 for i = 0 .. expectedErrors.length 
     426                for i in 0 : expectedErrors.length 
    427427                    expectedError = expectedErrors[i].trim 
    428428                    print 'Expecting error substring [i+1] of [expectedErrors.length]: **[expectedError]**' 
    429429                    if i >= c.errors.count 
     
    439439                        print 'Matches: "[actualError.message]"' 
    440440                if c.errors.count > expectedErrors.length 
    441441                    print 'There are more actual errors than expected errors:' 
    442                     for i = expectedErrors.length .. c.errors.count 
     442                    for i in expectedErrors.length : c.errors.count 
    443443                        print 'Another actual error: [c.errors[i].message]' 
    444444                    .failed 
    445445                    return 0 
     
    474474                .failed 
    475475                return 0 
    476476            expectedWarnings = warning.split(c'&') 
    477             for i = 0 .. expectedWarnings.length 
     477            for i in 0 : expectedWarnings.length 
    478478                expectedWarning = expectedWarnings[i].trim 
    479479                print 'Expecting warning substring [i+1] of [expectedWarnings.length]: **[expectedWarning]**' 
    480480                if i >= c.warnings.count 
     
    490490                    print 'Matches: "[actualWarning.message]"' 
    491491            if c.warnings.count > expectedWarnings.length 
    492492                print 'There are more actual warnings than expected warnings:' 
    493                 for i = expectedWarnings.length .. c.warnings.count 
     493                for i in expectedWarnings.length : c.warnings.count 
    494494                    print 'Another actual warning: [c.warnings[i].message]' 
    495495                .failed 
    496496                return 0 
  • Source/OperatorSpecs.cobra

     
    9191            for row in _table 
    9292                parts = row.split(c',') 
    9393                assert parts.length == 5, row 
    94                 for i = 0 .. parts.length 
     94                for i in 0 : parts.length 
    9595                    parts[i] = parts[i].trim 
    9696                spec = OpSpec(parts) 
    9797                _opSpecs.add(spec) 
  • Tests/500-dynamic/126-dynamic-statements.cobra

     
    7272        for dk in da : db 
    7373            assert dk > 0 and dk >= da and dk < db 
    7474 
    75         for x = 2 .. 10 
     75        for x in 2:10 
    7676            assert x >= 2 and x <= 10 
    77         for xq = 2 .. 10 
     77        for xq in 2:10 
    7878            assert xq >= 2 and x <= 10 
    7979 
    8080        da as dynamic = 1 
    81         for di = da .. 10 
     81        for di in da:10 
    8282            assert di > 0 and di < 10 
    8383        db as dynamic = 10 
    84         for dj = 1 .. db 
     84        for dj in 1:db 
    8585            assert dj > 0 and dj < db 
    86         for dk = da .. db 
     86        for dk in da:db 
    8787            assert dk > 0 and dk >= da and dk < db 
    8888 
    8989 
  • Tests/120-classes/804-test.cobra

     
    1818                assert c==c'a' 
    1919        body 
    2020            sb as StringBuilder = StringBuilder() 
    21             for i as int = 0 .. length 
     21            for i as int in 0:length 
    2222                CobraCore.noOp(i) 
    2323                c as char = alphabet[_random.next(alphabet.length)] 
    2424                sb.append(c) 
  • Tests/800-warnings/310-deprec-for.cobra

     
     1class DeprecFor 
     2 
     3 
     4    def main is shared 
     5        DeprecFor().run 
     6     
     7    def run 
     8        for i = 0 .. 10 ++ 2   # .warning. deprecated 
     9            assert i+1 > 0 and i<10 
  • Tests/240-generics/100-use-generics-collections/122-use-cobra-set.cobra

     
    2929         
    3030        # test that 'in' is fast 
    3131        x = 10000 
    32         for i = 0 .. x 
     32        for i in 0:x 
    3333            s.add(i) 
    3434            t.add(i) 
    3535        x -= 1 
     
    3737        reps = 1000 
    3838 
    3939        start = DateTime.now 
    40         for n = 0 .. reps 
     40        for n in 0:reps 
    4141            assert x in s 
    4242            assert x in s 
    4343            assert x in s 
     
    4646        setTest = DateTime.now.subtract(start).totalSeconds 
    4747         
    4848        start = DateTime.now 
    49         for n = 0 .. reps 
     49        for n in 0:reps 
    5050            assert x in t 
    5151            assert x in t 
    5252            assert x in t 
     
    6666        # same thing, but 'not in' 
    6767        x += 1 
    6868        start = DateTime.now 
    69         for n = 0 .. reps 
     69        for n in 0:reps 
    7070            assert x not in s 
    7171            assert x not in s 
    7272            assert x not in s 
     
    7575        setTest = DateTime.now.subtract(start).totalSeconds 
    7676         
    7777        start = DateTime.now 
    78         for n = 0 .. reps 
     78        for n in 0:reps 
    7979            assert x not in t 
    8080            assert x not in t 
    8181            assert x not in t 
  • Tests/100-basics/140-break.cobra

     
    1212            assert x==0 
    1313             
    1414            x = 1 
    15             for i as int = 1 .. 10 
     15            for i as int in 1:10 
    1616                break 
    1717                x = i 
    1818            assert x==1 
  • Tests/100-basics/150-continue.cobra

     
    1515            assert count==0 
    1616             
    1717            x = 1 
    18             for i as int = 1 .. 10 
     18            for i as int in 1 : 10 
    1919                x = i 
    2020                continue 
    2121                count += 1 
  • Tests/100-basics/120-for-numeric.cobra

     
    1212 
    1313            # the usual for numeric: 
    1414            count = 0 
    15             for x as int = 0 .. 100 
     15            for x as int in 0:100 
    1616                r = x 
    1717                count += 1 
    1818            assert r==99 
     
    2121 
    2222            # with a ++ 
    2323            count = 0 
    24             for x as int = 0 .. 100 ++ 2 
     24            for x as int in 0:100:2 
    2525                r = x 
    2626                count += 1 
    2727            assert r==98 
     
    2929            assert count==50 
    3030 
    3131            count = 0 
    32             for x as int = 1 .. 100 ++ 2 
     32            for x as int in 1:100:2 
    3333                r = x 
    3434                count += 1 
    3535            assert r==99 
     
    3737 
    3838            # reverse order 
    3939            count = 0 
    40             for x = 100 .. 0 -- 1 
     40            for x in 100:0:-1 
    4141                r = x 
    4242                count += 1 
    4343            assert r==1, r 
     
    4545 
    4646            # by 2 
    4747            count = 0 
    48             for x = 100 .. 0 -- 2 
     48            for x in 100:0:-2 
    4949                r = x 
    5050                count += 1 
    5151            assert r==2 
     
    5353 
    5454            # continue 
    5555            count = 0 
    56             for x = 1 .. 10 
     56            for x in 1 : 10 
    5757                r = x 
    5858                continue 
    5959                count += 1 
     
    6565        def more 
    6666            i = 1 
    6767            # reuse a local 
    68             for i = 1 .. 10 
     68            for i in 1:10 
    6969                assert i 
    7070            assert i == 10 
    7171 
     
    7575        def foo(x as int) 
    7676            assert x == 5 
    7777            # reuse an arg: 
    78             for x = 1 .. 10 
     78            for x in 1:10 
    7979                assert x 
    8080            assert x == 10 
    8181 
     
    8484        def bar 
    8585            assert _b == 0 
    8686            # reuse a class var: 
    87             for _b = 1 .. 10 
     87            for _b in 1:10 
    8888                assert _b 
    8989            assert _b == 10 
  • Tests/320-misc-two/402-implement-IEnumerable.cobra

     
    55 
    66    def init(max as int) 
    77        _numbers = List<of int>() 
    8         for i = 0 .. max 
     8        for i in 0:max 
    99            _numbers.add(i) 
    1010 
    1111    def getEnumerator as IEnumerator<of int> 
  • Tests/110-basics-two/800-arrays/100-single-dim-array.cobra

     
    99            for i as int in numbers 
    1010                assert i==0 
    1111 
    12             for i = 0 .. numbers.length 
     12            for i in 0:numbers.length 
    1313                assert numbers[i]==0 
    1414                numbers[i] = i 
    1515                assert numbers[i]==i 
  • Tests/300-type-inference/140-for.cobra

     
    33    def main 
    44        is shared 
    55 
    6         for i = 0 .. 10 
     6        for i in 0:10 
    77            assert i < 10 
    88        assert i==10 
    99 
    1010        n = 10 
    11         for i = 0 .. n 
     11        for i in 0:n 
    1212            assert i < n 
    1313 
    1414        for arg in CobraCore.commandLineArgs 
  • Tests/300-type-inference/142-for.cobra

     
    44 
    55        i = 1  # declaring i before using it in a for loop used to cause a false error about UnknownType 
    66 
    7         for i = 0 .. 10 
     7        for i in 1:10 
    88            assert i < 10 
  • Developer/IntermediateReleaseNotes.text

     
    4444* Fixed: Method return types from generics in DLLs are always considered nilable even if the generic parameter was not (such as `bool`). ticket:22 
    4545 
    4646* Fixed: Assignments (and other side effects) can appear in assert conditions even though they might be excluded during compilation or run-time. ticket:4 (hopscc) 
     47 
     48* Fixed: Make so that use of old style "for" statement generates a deprecation warning