Wiki

Ticket #207: warn-deprecated-sharp-keyword.patch

File warn-deprecated-sharp-keyword.patch, 6.8 KB (added by hopscc, 14 years ago)
  • Source/TypeProxies.cobra

     
    286286 
    287287    def _hack(clrType as Type) as IType 
    288288        if clrType.isInterface 
    289             return ClrTypeProxy($sharp('typeof(System.ICloneable)')).realType 
     289            return ClrTypeProxy(sharp'typeof(System.ICloneable)').realType 
    290290        else 
    291291            return ClrTypeProxy(Object).realType 
    292292 
  • Source/SyntaxHighlighter.cobra

     
    184184                    on 'SHARP_SINGLE' or 'SHARP_DOUBLE'  # sharp'...' 
    185185                        .add(charNum, 5, 'kw', 'sharp') 
    186186                        .add(charNum+5, len-5, 'ls', text[5:]) 
    187                     on 'SHARP_OPEN' 
    188                         .add(charNum, 6, 'kw', '$sharp') 
     187                    on 'SHARP_OPEN'  
     188                        .add(charNum, 6, 'kw', '$sharp') # deprecated 
    189189                    on 'STRING_START_SINGLE' or 'STRING_START_DOUBLE' 
    190190                        .add(charNum, len-1, 'ls', text[:-1]) 
    191191                        .add(charNum+len-1, 1, 'lslb', '\[') 
  • Source/Expr.cobra

     
    18991899        if expr inherits StringLit  # TODO:? make this an arg type 
    19001900            _expr = expr 
    19011901        else 
    1902             assert false, r'$sharp expression must be a String Literal (No substitutions) expr=[expr]' 
     1902            assert false, r'sharp expression must be a String Literal (No substitutions) expr=[expr]' 
    19031903 
    19041904    get allExprs as Expr* 
    19051905        for expr in base.allExprs, yield expr 
     
    19141914            quote = if(.token.text.startsWith('sharp"'), '"', "'") 
    19151915            return "sharp[quote][_sharpSource][quote]" 
    19161916        else 
    1917             return "$sharp('[_expr.toCobraSource]')" 
     1917            return "sharp'[_expr.toCobraSource]'" 
    19181918 
    19191919    def _bindImp is override 
    19201920        base._bindImp 
  • Source/Compiler.cobra

     
    711711        # TODO: try this out on MS .NET and if it works there, use it there 
    712712        # TODO: file a Mono bug report (or ping an existing one) 
    713713        # curDomain = AppDomain.currentDomain 
    714         # $sharp('curDomain.ReflectionOnlyAssemblyResolve += _resolveEvent') 
     714        # sharp'curDomain.ReflectionOnlyAssemblyResolve += _resolveEvent' 
    715715 
    716716        for reference in references 
    717717            if not .loadReference(reference) 
  • Source/Cobra.Lang/CobraFrame.cobra

     
    1919            _methodName = methodName 
    2020            _fileName = fileName 
    2121            _lineNum = lineNum 
    22             _args = $sharp(r'(object[])args.Clone()') 
     22            _args = sharp'(object[])args.Clone()' 
    2323            _locals = Dictionary<of String, dynamic?>() 
    2424            _localNamesInOrder = List<of String>() 
    2525            for j = 0 .. _args.length ++ 2 
  • Source/IndentedWriter.cobra

     
    3939    ## Other 
    4040 
    4141    def dispose is new 
    42         #$sharp('base.Dispose();') 
    43         $sharp('_innerWriter.Dispose();') 
    44  
     42        #sharp'base.Dispose();' 
     43        #sharp'_innerWriter.Dispose();' 
     44        _innerWriter.dispose 
    4545     
    4646class IndentedWriter 
    4747    inherits TextWriter 
     
    142142    ## Other 
    143143 
    144144    def dispose is new 
    145         #$sharp('base.Dispose();') 
    146         $sharp('_innerWriter.Dispose();') 
    147  
     145        #sharp'base.Dispose();' 
     146        #sharp'_innerWriter.Dispose();' 
     147        _innerWriter.dispose 
     148         
    148149    # *** Private Util *** 
    149150 
    150151    def _setTotalIndentString 
  • Source/CobraParser.cobra

     
    33273327            on 'SHARP_DOUBLE' 
    33283328                assert token.text.startsWith('sharp"') 
    33293329                return SharpExpr(token, token.text['sharp"'.length:-1]) 
    3330             on 'SHARP_OPEN' 
     3330            on 'SHARP_OPEN' # deprecated  
    33313331                expr = .expression 
    33323332                .expect('RPAREN') 
     3333                sharpStr="sharp'...'" 
     3334                _warning('sharp-open expression ("$sharp(...)" deprecated. Please use a sharp string literal instead (sharp"..." or [sharpStr])') 
    33333335                return SharpExpr(token, expr) 
    33343336            else 
    33353337                throw FallThroughException(token) 
  • Tests/110-basics-two/502-sharp.cobra

     
    99        .oldSyntax 
    1010 
    1111    def oldSyntax is shared 
    12         i as int = $sharp('2+2') 
     12        i as int = $sharp('2+2') #.warning. deprecated 
    1313        assert i==4 
    14         i = $sharp('i*2') 
     14        i = $sharp('i*2')   #.warning. deprecated 
    1515        assert i==8 
  • Tests/110-basics-two/100-using.cobra

     
    1010            buffer = StringWriter() 
    1111            using sr = File.openText(path) 
    1212                print to buffer, sr.readLine 
    13             assert $sharp('sr == null')  # assert sharp is nil 
     13            assert sharp'sr == null'  # assert sharp is nil 
    1414            assert buffer.toString.length 
  • Tests/110-basics-two/101-using.cobra

     
    1414    def main is shared 
    1515        using sr = File.openText(.fileName) 
    1616            print sr.readLine 
    17         assert $sharp('sr == null') # assert sr is nil 
     17        assert sharp'sr == null' # assert sr is nil 
    1818        using sr = File.openText(.fileName) 
    1919            print sr.readLine 
    20         assert $sharp('sr == null') # assert sr is nil 
     20        assert sharp'sr == null' # assert sr is nil 
    2121        Test().useClassVar 
    2222 
    2323    var _tr as TextReader? 
     
    2727        using _tr = File.openText(.fileName) 
    2828            assert _tr is not nil 
    2929            print _tr.readLine 
    30         assert $sharp('_tr == null') # assert _tr is nil 
     30        assert sharp'_tr == null' # assert _tr is nil 
  • Developer/IntermediateReleaseNotes.text

     
    469469* Fixed: The expression `nil is x`, where `x` is a nilable type, generates a false error message. 
    470470 
    471471* Fixed: Only the last `test` of a series of tests is included in the compiler's output. 
     472 
     473* Generate warning on use of deprecated "$sharp('...')" syntax in favor of newer alternate sharp-string-literal form: sharp'...' and sharp"..."