// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. library test.variable_is_const; import 'dart:mirrors'; import 'package:expect/expect.dart'; class Class { const //# 01: compile-time error int instanceWouldBeConst = 1; var instanceNonConst = 2; static const staticConst = 3; static var staticNonConst = 4; } const topLevelConst = 5; var topLevelNonConst = 6; main() { bool isConst(m, Symbol s) => (m.declarations[s] as VariableMirror).isConst; ClassMirror cm = reflectClass(Class); Expect.isFalse(isConst(cm, #instanceWouldBeConst)); Expect.isFalse(isConst(cm, #instanceNonConst)); Expect.isTrue(isConst(cm, #staticConst)); Expect.isFalse(isConst(cm, #staticNonConst)); LibraryMirror lm = cm.owner as LibraryMirror; Expect.isTrue(isConst(lm, #topLevelConst)); Expect.isFalse(isConst(lm, #topLevelNonConst)); }