| 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 library test.variable_is_const; |   5 library test.variable_is_const; | 
|   6  |   6  | 
 |   7 @MirrorsUsed(targets: "test.variable_is_const") | 
|   7 import 'dart:mirrors'; |   8 import 'dart:mirrors'; | 
|   8  |   9  | 
|   9 import 'package:expect/expect.dart'; |  10 import 'package:expect/expect.dart'; | 
|  10  |  11  | 
|  11 class Class { |  12 class Class { | 
|  12   const /// 01: compile-time error |  13   const /// 01: compile-time error | 
|  13       int instanceWouldBeConst = 1; |  14       int instanceWouldBeConst = 1; | 
|  14   var instanceNonConst = 2; |  15   var instanceNonConst = 2; | 
|  15  |  16  | 
|  16   static const staticConst = 3; |  17   static const staticConst = 3; | 
|  17   static var staticNonConst = 4; |  18   static var staticNonConst = 4; | 
|  18 } |  19 } | 
|  19  |  20  | 
|  20 const topLevelConst = 5; |  21 const topLevelConst = 5; | 
|  21 var topLevelNonConst = 6; |  22 var topLevelNonConst = 6; | 
|  22  |  23  | 
|  23 main() { |  24 main() { | 
|  24   bool isConst(m, Symbol s) => (m.declarations[s] as VariableMirror).isConst; |  25   bool isConst(m, Symbol s) => (m.declarations[s] as VariableMirror).isConst; | 
|  25  |  26  | 
|  26   ClassMirror cm = reflectClass(Class); |  27   ClassMirror cm = reflectClass(Class); | 
|  27   Expect.isFalse(isConst(cm, #instanceWouldBeConst)); |  28   Expect.isFalse(isConst(cm, #instanceWouldBeConst)); | 
|  28   Expect.isFalse(isConst(cm, #instanceNonConst)); |  29   Expect.isFalse(isConst(cm, #instanceNonConst)); | 
|  29   Expect.isTrue(isConst(cm, #staticConst)); |  30   Expect.isTrue(isConst(cm, #staticConst)); | 
|  30   Expect.isFalse(isConst(cm, #staticNonConst)); |  31   Expect.isFalse(isConst(cm, #staticNonConst)); | 
|  31  |  32  | 
|  32   LibraryMirror lm = cm.owner; |  33   LibraryMirror lm = cm.owner; | 
|  33   Expect.isTrue(isConst(lm, #topLevelConst)); |  34   Expect.isTrue(isConst(lm, #topLevelConst)); | 
|  34   Expect.isFalse(isConst(lm, #topLevelNonConst)); |  35   Expect.isFalse(isConst(lm, #topLevelNonConst)); | 
|  35 } |  36 } | 
| OLD | NEW |