| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:_js_helper'; | 5 import 'dart:_js_helper'; |
| 6 | 6 |
| 7 // JavaScript reserved words: | 7 // JavaScript reserved words: |
| 8 // | 8 // |
| 9 // break | 9 // break |
| 10 // case | 10 // case |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 // | 54 // |
| 55 // Funny thing in JavaScript: there are two syntactic categories: | 55 // Funny thing in JavaScript: there are two syntactic categories: |
| 56 // "Identifier" and "IdentifierName". The latter includes reserved | 56 // "Identifier" and "IdentifierName". The latter includes reserved |
| 57 // words. This is legal JavaScript according to ECMA-262.5: | 57 // words. This is legal JavaScript according to ECMA-262.5: |
| 58 // | 58 // |
| 59 // this.default | 59 // this.default |
| 60 // | 60 // |
| 61 // See section 11.2 "Left-Hand-Side Expressions" which states that a | 61 // See section 11.2 "Left-Hand-Side Expressions" which states that a |
| 62 // "MemberExpression" includes: "MemberExpression . IdentifierName". | 62 // "MemberExpression" includes: "MemberExpression . IdentifierName". |
| 63 | 63 |
| 64 class NativeClassWithOddNames native "NativeClassWithOddNames" { | 64 @Native("NativeClassWithOddNames") |
| 65 class NativeClassWithOddNames { |
| 65 @JSName('break') bool breakValue; | 66 @JSName('break') bool breakValue; |
| 66 @JSName('case') bool caseValue; | 67 @JSName('case') bool caseValue; |
| 67 @JSName('catch') bool catchValue; | 68 @JSName('catch') bool catchValue; |
| 68 @JSName('class') bool classValue; | 69 @JSName('class') bool classValue; |
| 69 @JSName('const') bool constValue; | 70 @JSName('const') bool constValue; |
| 70 @JSName('continue') bool continueValue; | 71 @JSName('continue') bool continueValue; |
| 71 @JSName('debugger') bool debuggerValue; | 72 @JSName('debugger') bool debuggerValue; |
| 72 @JSName('default') bool defaultValue; | 73 @JSName('default') bool defaultValue; |
| 73 @JSName('delete') bool deleteValue; | 74 @JSName('delete') bool deleteValue; |
| 74 @JSName('do') bool doValue; | 75 @JSName('do') bool doValue; |
| (...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1378 | 1379 |
| 1379 main() { | 1380 main() { |
| 1380 setup(); | 1381 setup(); |
| 1381 var object = makeNativeClassWithOddNames(); | 1382 var object = makeNativeClassWithOddNames(); |
| 1382 object.testMyFields(); | 1383 object.testMyFields(); |
| 1383 testObjectStronglyTyped(object); | 1384 testObjectStronglyTyped(object); |
| 1384 testObjectWeaklyTyped([object]); | 1385 testObjectWeaklyTyped([object]); |
| 1385 testObjectWeaklyTyped(['fisk']); | 1386 testObjectWeaklyTyped(['fisk']); |
| 1386 testObjectWeaklyTyped([new ClassWithOddNames()..testMyFields()]); | 1387 testObjectWeaklyTyped([new ClassWithOddNames()..testMyFields()]); |
| 1387 } | 1388 } |
| OLD | NEW |