blob: 082d110153e2945a6525556025206d8db588718a [file] [log] [blame]
// Copyright (c) 2015, 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.
// Formatting can break multitests, so don't format them.
// dart format off
// Error in class finalization triggered via mirror in a static initializer.
// Simply check that we do not crash.
// This is a regression test for the VM.
library mirror_in_static_init_test;
import 'dart:mirrors';
// This class is only loaded during initialization of `staticField`.
abstract class C {
int? _a;
// This is a syntax error on purpose.
C([this._a: 0]); //# 01: compile-time error
}
final int staticField = () {
var lib = currentMirrorSystem().findLibrary(#mirror_in_static_init_test);
var c = lib.declarations[#C] as ClassMirror;
var lst = new List.from(c.declarations.values);
return 42;
}();
main() {
return staticField;
}