blob: a934b2d02c32f74413100cfe3d51e46edb98e0a5 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/const_redirect_to_nonconst.dart:12:21: Error: A constant constructor can't call a non-constant super constructor.
// const B() : super.bad();
// ^^^
//
// pkg/front_end/testcases/general/const_redirect_to_nonconst.dart:6:20: Error: A constant constructor can't call a non-constant constructor.
// const A() : this.bad();
// ^^^
//
import self as self;
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() self::A*
: this self::A::bad()
;
constructor bad() self::A*
: super core::Object::•() {}
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
class B extends self::A /*hasConstConstructor*/ {
const constructor •() self::B*
: super self::A::bad()
;
}
static method test() dynamic {
core::print(invalid-expression "Non-const constructor invocation.");
core::print(invalid-expression "Non-const constructor invocation.");
}
static method main() dynamic {
core::print(new self::A::•());
core::print(new self::B::•());
}