|  | // Copyright (c) 2014, 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. | 
|  |  | 
|  | // Check that compile-time evaluation of constants is consistent with runtime | 
|  | // evaluation. | 
|  |  | 
|  | import 'package:expect/expect.dart'; | 
|  |  | 
|  | const top_const = identical(-0.0, 0); | 
|  | final top_final = identical(-0.0, 0); | 
|  | var top_var = identical(-0.0, 0); | 
|  |  | 
|  | @top_const | 
|  | class C { | 
|  | static const static_const = identical(-0.0, 0); | 
|  | static final static_final = identical(-0.0, 0); | 
|  | static var static_var = identical(-0.0, 0); | 
|  |  | 
|  | final instance_final = identical(-0.0, 0); | 
|  | var instance_var = identical(-0.0, 0); | 
|  |  | 
|  | void test() { | 
|  | const local_const = identical(-0.0, 0); | 
|  | final local_final = identical(-0.0, 0); | 
|  | var local_var = identical(-0.0, 0); | 
|  |  | 
|  | Expect.equals(identical(-0.0, 0), top_const); | 
|  | Expect.equals(top_const, top_final); | 
|  | Expect.equals(top_final, top_var); | 
|  | Expect.equals(top_var, static_const); | 
|  | Expect.equals(static_const, static_final); | 
|  | Expect.equals(static_final, static_var); | 
|  | Expect.equals(static_var, instance_final); | 
|  | Expect.equals(instance_final, instance_var); | 
|  | Expect.equals(instance_var, local_const); | 
|  | Expect.equals(local_const, local_final); | 
|  | Expect.equals(local_final, local_var); | 
|  | } | 
|  | } | 
|  |  | 
|  | void main() { | 
|  | new C().test(); | 
|  | } |