| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef B<T extends core::Object? = dynamic> = self::A<T%>; |
| typedef C<unrelated T extends core::Object? = dynamic> = self::A<core::int>; |
| class A<T extends core::Object? = dynamic> extends core::Object { |
| static final field dynamic _redirecting# = <dynamic>[self::A::redirect]/*isLegacy*/; |
| constructor •() → self::A<self::A::T%> |
| ; |
| static factory fact<T extends core::Object? = dynamic>() → self::A<self::A::fact::T%> |
| ; |
| static factory redirect<T extends core::Object? = dynamic>() → self::A<self::A::redirect::T%> |
| let dynamic #redirecting_factory = self::A::• in let self::A::redirect::T% #typeArg0 = null in invalid-expression; |
| } |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> a = self::A::•; |
| static const field () → self::A<core::int> b = self::A::•<core::int>; |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> c = self::A::fact; |
| static const field () → self::A<core::int> d = self::A::fact<core::int>; |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> e = self::A::redirect; |
| static const field () → self::A<core::int> f = self::A::redirect<core::int>; |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> g = self::A::•; |
| static const field () → self::A<core::int> h = self::A::•<core::int>; |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> i = self::A::fact; |
| static const field () → self::A<core::int> j = self::A::fact<core::int>; |
| static const field <T extends core::Object? = dynamic>() → self::A<T%> k = self::A::redirect; |
| static const field () → self::A<core::int> l = self::A::redirect<core::int>; |
| static const field <unrelated T extends core::Object? = dynamic>() → self::A<core::int> m = <unrelated T extends core::Object? = dynamic>.(self::A::•<core::int>); |
| static const field () → self::A<core::int> n = self::A::•<core::int>; |
| static const field <unrelated T extends core::Object? = dynamic>() → self::A<core::int> o = <unrelated T extends core::Object? = dynamic>.(self::A::fact<core::int>); |
| static const field () → self::A<core::int> p = self::A::fact<core::int>; |
| static const field <unrelated T extends core::Object? = dynamic>() → self::A<core::int> q = <unrelated T extends core::Object? = dynamic>.(self::A::redirect<core::int>); |
| static const field () → self::A<core::int> r = self::A::redirect<core::int>; |
| static method main() → dynamic |
| ; |
| |
| |
| Extra constant evaluation status: |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///const_tear_off.dart:14:11 -> ConstructorTearOffConstant(A.) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:15:11 -> InstantiationConstant(A.<int*>) |
| Evaluated: StaticTearOff @ org-dartlang-testcase:///const_tear_off.dart:16:11 -> StaticTearOffConstant(A.fact) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:17:11 -> InstantiationConstant(A.fact<int*>) |
| Evaluated: RedirectingFactoryTearOff @ org-dartlang-testcase:///const_tear_off.dart:18:11 -> RedirectingFactoryTearOffConstant(A.redirect) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:19:11 -> InstantiationConstant(A.redirect<int*>) |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///const_tear_off.dart:20:11 -> ConstructorTearOffConstant(A.) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:21:11 -> InstantiationConstant(A.<int*>) |
| Evaluated: StaticTearOff @ org-dartlang-testcase:///const_tear_off.dart:22:11 -> StaticTearOffConstant(A.fact) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:23:11 -> InstantiationConstant(A.fact<int*>) |
| Evaluated: RedirectingFactoryTearOff @ org-dartlang-testcase:///const_tear_off.dart:24:11 -> RedirectingFactoryTearOffConstant(A.redirect) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:25:11 -> InstantiationConstant(A.redirect<int*>) |
| Evaluated: TypedefTearOff @ org-dartlang-testcase:///const_tear_off.dart:26:11 -> TypedefTearOffConstant(A.<T><int>) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:27:11 -> InstantiationConstant(A.<int*>) |
| Evaluated: TypedefTearOff @ org-dartlang-testcase:///const_tear_off.dart:28:11 -> TypedefTearOffConstant(A.fact<T><int>) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:29:11 -> InstantiationConstant(A.fact<int*>) |
| Evaluated: TypedefTearOff @ org-dartlang-testcase:///const_tear_off.dart:30:11 -> TypedefTearOffConstant(A.redirect<T><int>) |
| Evaluated: Instantiation @ org-dartlang-testcase:///const_tear_off.dart:31:11 -> InstantiationConstant(A.redirect<int*>) |
| Extra constant evaluation: evaluated: 23, effectively constant: 18 |