Files
sdk/tests/lib_2/mirrors/deferred_constraints_constants_test.dart
T
Jenny Messerly 3002e47e36 cleanup language_2 and corelib_2 tests that import dart:mirrors
Preserves tests that didn't really need mirrors, and moves tests for
mirror functionality into lib_2/mirrors tests.

Change-Id: Ie16dee1a4b508e3f14da53499f57c5dae2d1e513
Reviewed-on: https://dart-review.googlesource.com/49624
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-05-07 23:50:56 +00:00

71 lines
2.1 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.
import 'package:expect/expect.dart';
import 'package:async_helper/async_helper.dart';
import 'dart:mirrors';
import "deferred_constraints_constants_lib.dart" deferred as lib;
const myConst1 =
lib.constantInstance; //# reference1: compile-time error
/* // //# reference1: continued
499;
*/ // //# reference1: continued
const myConst2 =
lib.Const.instance; //# reference2: compile-time error
/* // //# reference2: continued
499;
*/ // //# reference2: continued
void f1(
{a:
const lib.Const() //# default_argument1: compile-time error
/* // //# default_argument1: continued
499
*/ // //# default_argument1: continued
}) {}
void f2(
{a:
lib.constantInstance //# default_argument2: compile-time error
/* // //# default_argument2: continued
499
*/ // //# default_argument2: continued
}) {}
@lib.Const() //# metadata1: compile-time error
class H1 {}
@lib.Const.instance //# metadata2: compile-time error
class H2 {}
@lib.Const.namedConstructor() //# metadata3: compile-time error
class H3 {}
void main() {
var a1 = myConst1;
var a2 = myConst2;
asyncStart();
lib.loadLibrary().then((_) {
var instance = lib.constantInstance;
var c1 = const lib.Const(); //# constructor1: compile-time error
var c2 = const lib.Const.namedConstructor(); //# constructor2: compile-time error
f1();
f2();
var constInstance = lib.constantInstance; //# reference_after_load: ok
var h1 = new H1();
var h2 = new H2();
var h3 = new H3();
// Need to access the metadata to trigger the expected compilation error.
reflectClass(H1).metadata; //# metadata1: continued
reflectClass(H2).metadata; //# metadata2: continued
reflectClass(H3).metadata; //# metadata3: continued
asyncEnd();
});
}