e736495eb7
Change-Id: I464275799b3e7a21326d35503b776f9c1101a599 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141764 Commit-Queue: Bob Nystrom <rnystrom@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com> Reviewed-by: Erik Ernst <eernst@google.com> Auto-Submit: Bob Nystrom <rnystrom@google.com>
45 lines
1.4 KiB
Dart
45 lines
1.4 KiB
Dart
// 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();
|
|
}
|