blob: f607df7ae95d01b487e91725b03638aae790b292 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:18:16: Error: Function invocation is not a constant expression.
// const c1 = v1(3, 14);
// ^
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:19:16: Error: Function invocation is not a constant expression.
// const c2 = v1(3, 14);
// ^
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:20:16: Error: Function invocation is not a constant expression.
// const c3 = v2();
// ^
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:21:16: Error: Function invocation is not a constant expression.
// const c4 = v2();
// ^
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:22:16: Error: Function invocation is not a constant expression.
// const c5 = v3(3, 14);
// ^
//
// pkg/front_end/testcases/constructor_tearoffs/issue46925.dart:23:16: Error: Function invocation is not a constant expression.
// const c6 = v4();
// ^
//
import self as self;
import "dart:core" as core;
class MyClass<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
final field dynamic a;
const constructor •(core::int i, core::int j) self::MyClass<self::MyClass::T%>
: self::MyClass::a = i.{core::num::+}(j){(core::num) core::int}, super core::Object::•()
;
const constructor constr() self::MyClass<self::MyClass::T%>
: self::MyClass::a = 0, super core::Object::•()
;
}
static method test() dynamic {
const (core::int, core::int) self::MyClass<core::String> v1 = #C2;
const () self::MyClass<core::int> v2 = #C4;
const (core::int, core::int) self::MyClass<core::int> v3 = #C5;
const () self::MyClass<core::String> v4 = #C6;
const self::MyClass<core::String> c1 = invalid-expression "Function invocation is not a constant expression.";
const self::MyClass<core::String> c2 = invalid-expression "Function invocation is not a constant expression.";
const self::MyClass<core::int> c3 = invalid-expression "Function invocation is not a constant expression.";
const self::MyClass<core::int> c4 = invalid-expression "Function invocation is not a constant expression.";
const self::MyClass<core::int> c5 = invalid-expression "Function invocation is not a constant expression.";
const self::MyClass<core::String> c6 = invalid-expression "Function invocation is not a constant expression.";
}
static method main() dynamic {}
constants {
#C1 = constructor-tearoff self::MyClass::•
#C2 = instantiation #C1 <core::String>
#C3 = constructor-tearoff self::MyClass::constr
#C4 = instantiation #C3 <core::int>
#C5 = instantiation #C1 <core::int>
#C6 = instantiation #C3 <core::String>
}