| // 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(); | 
 | } |