Version 2.17.0-187.0.dev
Merge commit 'e1718d5477106c8b5a374ccc6f87e628d18e435f' into 'dev'
diff --git a/DEPS b/DEPS
index dc14ff7..ea1fd32 100644
--- a/DEPS
+++ b/DEPS
@@ -71,7 +71,7 @@
"gn_revision": "b79031308cc878488202beb99883ec1f2efd9a6d",
# Scripts that make 'git cl format' work.
- "clang_format_scripts_rev": "c09c8deeac31f05bd801995c475e7c8070f9ecda",
+ "clang_format_scripts_rev": "bb994c6f067340c1135eb43eed84f4b33cfa7397",
"gperftools_revision": "180bfa10d7cb38e8b3784d60943d50e8fcef0dcb",
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 261c626..5692f14 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -7,6 +7,7 @@
* Deprecated `AnalysisDriver.getParsedLibrary`, use `getParsedLibrary2` instead.
* Deprecated `AnalysisDriver.getParsedLibraryByUri`, use `getParsedLibraryByUri2` instead.
* Deprecated `AnalysisDriver.parseFileSync`, use `parseFile` instead.
+* Deprecated `astFactory`, clients should not create AST nodes manually.
## 3.3.1
* Report HintCode.OVERRIDE_ON_NON_OVERRIDING_xyz on enum.
diff --git a/pkg/analyzer/lib/dart/ast/ast_factory.dart b/pkg/analyzer/lib/dart/ast/ast_factory.dart
index 682228e..dfba96d 100644
--- a/pkg/analyzer/lib/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/dart/ast/ast_factory.dart
@@ -14,6 +14,7 @@
/// instances of the interfaces that constitute the AST.
///
/// Clients should not extend, implement or mix-in this class.
+@Deprecated('Should not be used by clients')
abstract class AstFactory {
/// Returns a newly created list of adjacent strings. To be syntactically
/// valid, the list of [strings] must contain at least two elements.
diff --git a/pkg/analyzer/lib/dart/ast/standard_ast_factory.dart b/pkg/analyzer/lib/dart/ast/standard_ast_factory.dart
index 0b7a130..544346b 100644
--- a/pkg/analyzer/lib/dart/ast/standard_ast_factory.dart
+++ b/pkg/analyzer/lib/dart/ast/standard_ast_factory.dart
@@ -6,4 +6,5 @@
import 'package:analyzer/src/dart/ast/ast_factory.dart';
/// Gets an instance of [AstFactory] based on the standard AST implementation.
+@Deprecated('Should not be used by clients')
final AstFactory astFactory = AstFactoryImpl();
diff --git a/pkg/analyzer/lib/src/clients/dart_style/rewrite_cascade.dart b/pkg/analyzer/lib/src/clients/dart_style/rewrite_cascade.dart
index dc054a8..3cccf58 100644
--- a/pkg/analyzer/lib/src/clients/dart_style/rewrite_cascade.dart
+++ b/pkg/analyzer/lib/src/clients/dart_style/rewrite_cascade.dart
@@ -3,8 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/ast/standard_ast_factory.dart';
import 'package:analyzer/dart/ast/token.dart';
+import 'package:analyzer/src/dart/ast/ast_factory.dart';
/// Parenthesize the target of the [expressionStatement]'s expression (assumed
/// to [cascadeExpression]) before removing the cascade.
diff --git a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
index e427e92..b937129 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
@@ -15,8 +15,7 @@
/// The instance of [AstFactoryImpl].
final AstFactoryImpl astFactory = AstFactoryImpl();
-/// Concrete implementation of [AstFactory] based on the standard AST
-/// implementation.
+// ignore: deprecated_member_use_from_same_package
class AstFactoryImpl extends AstFactory {
@override
AdjacentStringsImpl adjacentStrings(List<StringLiteral> strings) =>
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart b/pkg/front_end/testcases/general/operator_method_not_found.dart
index 2275e69..c54c358 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
class Foo {
}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
index ceba071..a467bf8 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {}
main() {}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
index ceba071..a467bf8 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {}
main() {}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect
index eb609ae..7f39609 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -206,22 +206,12 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:12:13: Error: The operator '<' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '<' operator.
@@ -242,7 +232,7 @@
Try correcting the operator to an existing operator, or defining a '>=' operator.
print(foo >= 2);
^^" in foo{<unresolved>}.>=(2));
- core::print(foo =={self::Foo::==}{(dynamic) →* core::bool*} 2);
+ core::print(foo =={core::Object::==}{(core::Object) → core::bool} 2);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:17:13: Error: The operator '-' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '-' operator.
@@ -298,7 +288,7 @@
Try correcting the operator to an existing operator, or defining a '>>' operator.
print(foo >> 2);
^^" in foo{<unresolved>}.>>(2));
- core::print(let final self::Foo* #t1 = foo in let final core::int* #t2 = 2 in let final core::int* #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
+ core::print(let final self::Foo #t1 = foo in let final core::int #t2 = 2 in let final core::int #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
print(foo[2] = 2);
@@ -330,7 +320,7 @@
^"{<invalid>}.>=(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: This couldn't be parsed.
print(==foo);
- ^" =={core::Object::==}{(core::Object*) →* core::bool*} foo);
+ ^" =={core::Object::==}{(core::Object) → core::bool} foo);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: This couldn't be parsed.
print(+foo);
^"{<invalid>}.+(foo));
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.modular.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.modular.expect
index eb609ae..7f39609 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -206,22 +206,12 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:12:13: Error: The operator '<' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '<' operator.
@@ -242,7 +232,7 @@
Try correcting the operator to an existing operator, or defining a '>=' operator.
print(foo >= 2);
^^" in foo{<unresolved>}.>=(2));
- core::print(foo =={self::Foo::==}{(dynamic) →* core::bool*} 2);
+ core::print(foo =={core::Object::==}{(core::Object) → core::bool} 2);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:17:13: Error: The operator '-' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '-' operator.
@@ -298,7 +288,7 @@
Try correcting the operator to an existing operator, or defining a '>>' operator.
print(foo >> 2);
^^" in foo{<unresolved>}.>>(2));
- core::print(let final self::Foo* #t1 = foo in let final core::int* #t2 = 2 in let final core::int* #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
+ core::print(let final self::Foo #t1 = foo in let final core::int #t2 = 2 in let final core::int #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
print(foo[2] = 2);
@@ -330,7 +320,7 @@
^"{<invalid>}.>=(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: This couldn't be parsed.
print(==foo);
- ^" =={core::Object::==}{(core::Object*) →* core::bool*} foo);
+ ^" =={core::Object::==}{(core::Object) → core::bool} foo);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: This couldn't be parsed.
print(+foo);
^"{<invalid>}.+(foo));
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect
index bb0c2dc..bdd8315 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect
index 13d310d..add53a6 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -206,22 +206,12 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:12:13: Error: The operator '<' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '<' operator.
@@ -242,7 +232,7 @@
Try correcting the operator to an existing operator, or defining a '>=' operator.
print(foo >= 2);
^^" in foo{<unresolved>}.>=(2));
- core::print(foo =={self::Foo::==}{(dynamic) →* core::bool*} 2);
+ core::print(foo =={core::Object::==}{(core::Object) → core::bool} 2);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:17:13: Error: The operator '-' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '-' operator.
@@ -298,7 +288,7 @@
Try correcting the operator to an existing operator, or defining a '>>' operator.
print(foo >> 2);
^^" in foo{<unresolved>}.>>(2));
- core::print(let final self::Foo* #t1 = foo in let final core::int* #t2 = 2 in let final core::int* #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
+ core::print(let final self::Foo #t1 = foo in let final core::int #t2 = 2 in let final core::int #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:29:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
- 'Foo' is from 'pkg/front_end/testcases/general/operator_method_not_found.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
print(foo[2] = 2);
@@ -330,7 +320,7 @@
^"{<invalid>}.>=(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:40:9: Error: This couldn't be parsed.
print(==foo);
- ^" =={core::Object::==}{(core::Object*) →* core::bool*} foo);
+ ^" =={core::Object::==}{(core::Object) → core::bool} foo);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:41:9: Error: This couldn't be parsed.
print(+foo);
^"{<invalid>}.+(foo));
diff --git a/pkg/front_end/testcases/general/operators.dart b/pkg/front_end/testcases/general/operators.dart
index 37b4cf3..e28636c 100644
--- a/pkg/front_end/testcases/general/operators.dart
+++ b/pkg/front_end/testcases/general/operators.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class Operators {
operator +(other) => null;
operator &(other) => null;
@@ -9,7 +9,7 @@
operator |(other) => null;
operator ^(other) => null;
operator /(other) => null;
- operator ==(other) => null;
+ operator ==(other) => true;
operator >(other) => null;
operator >=(other) => null;
operator [](index) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.textual_outline.expect b/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
index 409d968..cf978f3 100644
--- a/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Operators {
operator +(other) => null;
operator &(other) => null;
@@ -6,7 +5,7 @@
operator |(other) => null;
operator ^(other) => null;
operator /(other) => null;
- operator ==(other) => null;
+ operator ==(other) => true;
operator >(other) => null;
operator >=(other) => null;
operator [](index) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
index 73cbab6..bab579d 100644
--- a/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Operators {
operator %(other) => null;
operator &(other) => null;
@@ -10,7 +9,7 @@
operator <(other) => null;
operator <<(other) => null;
operator <=(other) => null;
- operator ==(other) => null;
+ operator ==(other) => true;
operator >(other) => null;
operator >=(other) => null;
operator >>(other) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.weak.expect b/pkg/front_end/testcases/general/operators.dart.weak.expect
index 8796e3d4..dd1cbd2 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Operators extends core::Object {
- synthetic constructor •() → self::Operators*
+ synthetic constructor •() → self::Operators
: super core::Object::•()
;
operator +(dynamic other) → dynamic
@@ -18,8 +18,8 @@
return null;
operator /(dynamic other) → dynamic
return null;
- operator ==(dynamic other) → core::bool*
- return null;
+ operator ==(core::Object other) → core::bool
+ return true;
operator >(dynamic other) → dynamic
return null;
operator >=(dynamic other) → dynamic
@@ -45,37 +45,28 @@
return null;
operator unary-() → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main(dynamic arguments) → dynamic {
- self::Operators* a = new self::Operators::•();
- self::Operators* b = new self::Operators::•();
- a.{self::Operators::+}(b){(dynamic) →* dynamic};
- a.{self::Operators::&}(b){(dynamic) →* dynamic};
- a.{self::Operators::~}(){() →* dynamic};
- a.{self::Operators::|}(b){(dynamic) →* dynamic};
- a.{self::Operators::^}(b){(dynamic) →* dynamic};
- a.{self::Operators::/}(b){(dynamic) →* dynamic};
- a =={self::Operators::==}{(dynamic) →* core::bool*} b;
- a.{self::Operators::>}(b){(dynamic) →* dynamic};
- a.{self::Operators::>=}(b){(dynamic) →* dynamic};
- a.{self::Operators::[]}(0){(dynamic) →* dynamic};
- a.{self::Operators::[]=}(0, b){(dynamic, dynamic) →* void};
- a.{self::Operators::<<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<=}(b){(dynamic) →* dynamic};
- a.{self::Operators::*}(b){(dynamic) →* dynamic};
- a.{self::Operators::%}(b){(dynamic) →* dynamic};
- a.{self::Operators::>>}(b){(dynamic) →* dynamic};
- a.{self::Operators::-}(b){(dynamic) →* dynamic};
- a.{self::Operators::~/}(b){(dynamic) →* dynamic};
- a.{self::Operators::unary-}(){() →* dynamic};
+ self::Operators a = new self::Operators::•();
+ self::Operators b = new self::Operators::•();
+ a.{self::Operators::+}(b){(dynamic) → dynamic};
+ a.{self::Operators::&}(b){(dynamic) → dynamic};
+ a.{self::Operators::~}(){() → dynamic};
+ a.{self::Operators::|}(b){(dynamic) → dynamic};
+ a.{self::Operators::^}(b){(dynamic) → dynamic};
+ a.{self::Operators::/}(b){(dynamic) → dynamic};
+ a =={self::Operators::==}{(core::Object) → core::bool} b;
+ a.{self::Operators::>}(b){(dynamic) → dynamic};
+ a.{self::Operators::>=}(b){(dynamic) → dynamic};
+ a.{self::Operators::[]}(0){(dynamic) → dynamic};
+ a.{self::Operators::[]=}(0, b){(dynamic, dynamic) → void};
+ a.{self::Operators::<<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<=}(b){(dynamic) → dynamic};
+ a.{self::Operators::*}(b){(dynamic) → dynamic};
+ a.{self::Operators::%}(b){(dynamic) → dynamic};
+ a.{self::Operators::>>}(b){(dynamic) → dynamic};
+ a.{self::Operators::-}(b){(dynamic) → dynamic};
+ a.{self::Operators::~/}(b){(dynamic) → dynamic};
+ a.{self::Operators::unary-}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/operators.dart.weak.modular.expect b/pkg/front_end/testcases/general/operators.dart.weak.modular.expect
index 8796e3d4..dd1cbd2 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Operators extends core::Object {
- synthetic constructor •() → self::Operators*
+ synthetic constructor •() → self::Operators
: super core::Object::•()
;
operator +(dynamic other) → dynamic
@@ -18,8 +18,8 @@
return null;
operator /(dynamic other) → dynamic
return null;
- operator ==(dynamic other) → core::bool*
- return null;
+ operator ==(core::Object other) → core::bool
+ return true;
operator >(dynamic other) → dynamic
return null;
operator >=(dynamic other) → dynamic
@@ -45,37 +45,28 @@
return null;
operator unary-() → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main(dynamic arguments) → dynamic {
- self::Operators* a = new self::Operators::•();
- self::Operators* b = new self::Operators::•();
- a.{self::Operators::+}(b){(dynamic) →* dynamic};
- a.{self::Operators::&}(b){(dynamic) →* dynamic};
- a.{self::Operators::~}(){() →* dynamic};
- a.{self::Operators::|}(b){(dynamic) →* dynamic};
- a.{self::Operators::^}(b){(dynamic) →* dynamic};
- a.{self::Operators::/}(b){(dynamic) →* dynamic};
- a =={self::Operators::==}{(dynamic) →* core::bool*} b;
- a.{self::Operators::>}(b){(dynamic) →* dynamic};
- a.{self::Operators::>=}(b){(dynamic) →* dynamic};
- a.{self::Operators::[]}(0){(dynamic) →* dynamic};
- a.{self::Operators::[]=}(0, b){(dynamic, dynamic) →* void};
- a.{self::Operators::<<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<=}(b){(dynamic) →* dynamic};
- a.{self::Operators::*}(b){(dynamic) →* dynamic};
- a.{self::Operators::%}(b){(dynamic) →* dynamic};
- a.{self::Operators::>>}(b){(dynamic) →* dynamic};
- a.{self::Operators::-}(b){(dynamic) →* dynamic};
- a.{self::Operators::~/}(b){(dynamic) →* dynamic};
- a.{self::Operators::unary-}(){() →* dynamic};
+ self::Operators a = new self::Operators::•();
+ self::Operators b = new self::Operators::•();
+ a.{self::Operators::+}(b){(dynamic) → dynamic};
+ a.{self::Operators::&}(b){(dynamic) → dynamic};
+ a.{self::Operators::~}(){() → dynamic};
+ a.{self::Operators::|}(b){(dynamic) → dynamic};
+ a.{self::Operators::^}(b){(dynamic) → dynamic};
+ a.{self::Operators::/}(b){(dynamic) → dynamic};
+ a =={self::Operators::==}{(core::Object) → core::bool} b;
+ a.{self::Operators::>}(b){(dynamic) → dynamic};
+ a.{self::Operators::>=}(b){(dynamic) → dynamic};
+ a.{self::Operators::[]}(0){(dynamic) → dynamic};
+ a.{self::Operators::[]=}(0, b){(dynamic, dynamic) → void};
+ a.{self::Operators::<<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<=}(b){(dynamic) → dynamic};
+ a.{self::Operators::*}(b){(dynamic) → dynamic};
+ a.{self::Operators::%}(b){(dynamic) → dynamic};
+ a.{self::Operators::>>}(b){(dynamic) → dynamic};
+ a.{self::Operators::-}(b){(dynamic) → dynamic};
+ a.{self::Operators::~/}(b){(dynamic) → dynamic};
+ a.{self::Operators::unary-}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/operators.dart.weak.outline.expect b/pkg/front_end/testcases/general/operators.dart.weak.outline.expect
index d6c0166..9f33f6c 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Operators extends core::Object {
- synthetic constructor •() → self::Operators*
+ synthetic constructor •() → self::Operators
;
operator +(dynamic other) → dynamic
;
@@ -17,7 +17,7 @@
;
operator /(dynamic other) → dynamic
;
- operator ==(dynamic other) → core::bool*
+ operator ==(core::Object other) → core::bool
;
operator >(dynamic other) → dynamic
;
@@ -45,15 +45,6 @@
;
operator unary-() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main(dynamic arguments) → dynamic
;
diff --git a/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect b/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
index 8796e3d4..dd1cbd2 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Operators extends core::Object {
- synthetic constructor •() → self::Operators*
+ synthetic constructor •() → self::Operators
: super core::Object::•()
;
operator +(dynamic other) → dynamic
@@ -18,8 +18,8 @@
return null;
operator /(dynamic other) → dynamic
return null;
- operator ==(dynamic other) → core::bool*
- return null;
+ operator ==(core::Object other) → core::bool
+ return true;
operator >(dynamic other) → dynamic
return null;
operator >=(dynamic other) → dynamic
@@ -45,37 +45,28 @@
return null;
operator unary-() → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main(dynamic arguments) → dynamic {
- self::Operators* a = new self::Operators::•();
- self::Operators* b = new self::Operators::•();
- a.{self::Operators::+}(b){(dynamic) →* dynamic};
- a.{self::Operators::&}(b){(dynamic) →* dynamic};
- a.{self::Operators::~}(){() →* dynamic};
- a.{self::Operators::|}(b){(dynamic) →* dynamic};
- a.{self::Operators::^}(b){(dynamic) →* dynamic};
- a.{self::Operators::/}(b){(dynamic) →* dynamic};
- a =={self::Operators::==}{(dynamic) →* core::bool*} b;
- a.{self::Operators::>}(b){(dynamic) →* dynamic};
- a.{self::Operators::>=}(b){(dynamic) →* dynamic};
- a.{self::Operators::[]}(0){(dynamic) →* dynamic};
- a.{self::Operators::[]=}(0, b){(dynamic, dynamic) →* void};
- a.{self::Operators::<<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<}(b){(dynamic) →* dynamic};
- a.{self::Operators::<=}(b){(dynamic) →* dynamic};
- a.{self::Operators::*}(b){(dynamic) →* dynamic};
- a.{self::Operators::%}(b){(dynamic) →* dynamic};
- a.{self::Operators::>>}(b){(dynamic) →* dynamic};
- a.{self::Operators::-}(b){(dynamic) →* dynamic};
- a.{self::Operators::~/}(b){(dynamic) →* dynamic};
- a.{self::Operators::unary-}(){() →* dynamic};
+ self::Operators a = new self::Operators::•();
+ self::Operators b = new self::Operators::•();
+ a.{self::Operators::+}(b){(dynamic) → dynamic};
+ a.{self::Operators::&}(b){(dynamic) → dynamic};
+ a.{self::Operators::~}(){() → dynamic};
+ a.{self::Operators::|}(b){(dynamic) → dynamic};
+ a.{self::Operators::^}(b){(dynamic) → dynamic};
+ a.{self::Operators::/}(b){(dynamic) → dynamic};
+ a =={self::Operators::==}{(core::Object) → core::bool} b;
+ a.{self::Operators::>}(b){(dynamic) → dynamic};
+ a.{self::Operators::>=}(b){(dynamic) → dynamic};
+ a.{self::Operators::[]}(0){(dynamic) → dynamic};
+ a.{self::Operators::[]=}(0, b){(dynamic, dynamic) → void};
+ a.{self::Operators::<<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<}(b){(dynamic) → dynamic};
+ a.{self::Operators::<=}(b){(dynamic) → dynamic};
+ a.{self::Operators::*}(b){(dynamic) → dynamic};
+ a.{self::Operators::%}(b){(dynamic) → dynamic};
+ a.{self::Operators::>>}(b){(dynamic) → dynamic};
+ a.{self::Operators::-}(b){(dynamic) → dynamic};
+ a.{self::Operators::~/}(b){(dynamic) → dynamic};
+ a.{self::Operators::unary-}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/optional.dart b/pkg/front_end/testcases/general/optional.dart
index badb36d..0d2e08a 100644
--- a/pkg/front_end/testcases/general/optional.dart
+++ b/pkg/front_end/testcases/general/optional.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class Foo {
method(x, [y, z]) {
return "string";
@@ -16,7 +16,7 @@
external External createExternal();
abstract class Listener {
- void event(String input, [int x, int y]);
+ void event(String input, [int? x, int? y]);
}
class TestListener extends Listener {
diff --git a/pkg/front_end/testcases/general/optional.dart.textual_outline.expect b/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
index 4ac3d19..7ca31bf 100644
--- a/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {
method(x, [y, z]) {}
}
@@ -11,7 +10,7 @@
external External createExternal();
abstract class Listener {
- void event(String input, [int x, int y]);
+ void event(String input, [int? x, int? y]);
}
class TestListener extends Listener {
diff --git a/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
index 5c35035..79bbd86 100644
--- a/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
@@ -1,11 +1,10 @@
-// @dart = 2.9
abstract class External {
String externalMethod(int x, [int y, int z]);
void listen(Listener listener);
}
abstract class Listener {
- void event(String input, [int x, int y]);
+ void event(String input, [int? x, int? y]);
}
class ExtendedListener extends Listener {
diff --git a/pkg/front_end/testcases/general/optional.dart.weak.expect b/pkg/front_end/testcases/general/optional.dart.weak.expect
index 6ca451d..36aa8b1 100644
--- a/pkg/front_end/testcases/general/optional.dart.weak.expect
+++ b/pkg/front_end/testcases/general/optional.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,115 +30,75 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method method(dynamic x, [dynamic y = #C1, dynamic z = #C1]) → dynamic {
return "string";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class External extends core::Object {
- synthetic constructor •() → self::External*
+ synthetic constructor •() → self::External
: super core::Object::•()
;
- abstract method externalMethod(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → core::String*;
- abstract method listen(self::Listener* listener) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalMethod(core::int x, [core::int y = #C1, core::int z = #C1]) → core::String;
+ abstract method listen(self::Listener listener) → void;
}
abstract class Listener extends core::Object {
- synthetic constructor •() → self::Listener*
+ synthetic constructor •() → self::Listener
: super core::Object::•()
;
- abstract method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void;
}
class TestListener extends self::Listener {
- synthetic constructor •() → self::TestListener*
+ synthetic constructor •() → self::TestListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void {}
}
class ExtendedListener extends self::Listener {
- synthetic constructor •() → self::ExtendedListener*
+ synthetic constructor •() → self::ExtendedListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1, dynamic z = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1, dynamic z = #C1]) → void {}
}
class InvalidListener extends core::Object {
- synthetic constructor •() → self::InvalidListener*
+ synthetic constructor •() → self::InvalidListener
: super core::Object::•()
;
method event(dynamic input, [dynamic x = #C1]) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-external static method createExternal() → self::External*;
+external static method createExternal() → self::External;
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
- dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) →* dynamic};
- self::External* extern = self::createExternal();
- core::String* string4 = extern.{self::External::externalMethod}(1){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string5 = extern.{self::External::externalMethod}(1, 2){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int*, [core::int*, core::int*]) →* core::String*};
- extern.{self::External::listen}(new self::TestListener::•()){(self::Listener*) →* void};
- extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener*) →* void};
+ self::Foo foo = new self::Foo::•();
+ dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) → dynamic};
+ self::External extern = self::createExternal();
+ core::String string4 = extern.{self::External::externalMethod}(1){(core::int, [core::int, core::int]) → core::String};
+ core::String string5 = extern.{self::External::externalMethod}(1, 2){(core::int, [core::int, core::int]) → core::String};
+ core::String string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int, [core::int, core::int]) → core::String};
+ extern.{self::External::listen}(new self::TestListener::•()){(self::Listener) → void};
+ extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener) → void};
extern.{self::External::listen}(invalid-expression "pkg/front_end/testcases/general/optional.dart:47:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
- 'InvalidListener' is from 'pkg/front_end/testcases/general/optional.dart'.
- 'Listener' is from 'pkg/front_end/testcases/general/optional.dart'.
extern.listen(new InvalidListener());
- ^" in new self::InvalidListener::•() as{TypeError} self::Listener*){(self::Listener*) →* void};
+ ^" in new self::InvalidListener::•() as{TypeError,ForNonNullableByDefault} self::Listener){(self::Listener) → void};
invalid-type nothing1 = invalid-expression "pkg/front_end/testcases/general/optional.dart:49:28: Error: Too few positional arguments: 1 required, 0 given.
var nothing1 = foo.method();
- ^" in foo.{self::Foo::method}{<inapplicable>}.(){() →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing2 = invalid-expression "pkg/front_end/testcases/general/optional.dart:50:28: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing2 = foo.method(1, 2, 3, 4);
- ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/optional.dart:51:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = extern.externalMethod();
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/optional.dart:52:39: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing4 = extern.externalMethod(1, 2, 3, 4);
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
}
constants {
diff --git a/pkg/front_end/testcases/general/optional.dart.weak.modular.expect b/pkg/front_end/testcases/general/optional.dart.weak.modular.expect
index 6ca451d..36aa8b1 100644
--- a/pkg/front_end/testcases/general/optional.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/optional.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,115 +30,75 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method method(dynamic x, [dynamic y = #C1, dynamic z = #C1]) → dynamic {
return "string";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class External extends core::Object {
- synthetic constructor •() → self::External*
+ synthetic constructor •() → self::External
: super core::Object::•()
;
- abstract method externalMethod(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → core::String*;
- abstract method listen(self::Listener* listener) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalMethod(core::int x, [core::int y = #C1, core::int z = #C1]) → core::String;
+ abstract method listen(self::Listener listener) → void;
}
abstract class Listener extends core::Object {
- synthetic constructor •() → self::Listener*
+ synthetic constructor •() → self::Listener
: super core::Object::•()
;
- abstract method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void;
}
class TestListener extends self::Listener {
- synthetic constructor •() → self::TestListener*
+ synthetic constructor •() → self::TestListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void {}
}
class ExtendedListener extends self::Listener {
- synthetic constructor •() → self::ExtendedListener*
+ synthetic constructor •() → self::ExtendedListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1, dynamic z = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1, dynamic z = #C1]) → void {}
}
class InvalidListener extends core::Object {
- synthetic constructor •() → self::InvalidListener*
+ synthetic constructor •() → self::InvalidListener
: super core::Object::•()
;
method event(dynamic input, [dynamic x = #C1]) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-external static method createExternal() → self::External*;
+external static method createExternal() → self::External;
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
- dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) →* dynamic};
- self::External* extern = self::createExternal();
- core::String* string4 = extern.{self::External::externalMethod}(1){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string5 = extern.{self::External::externalMethod}(1, 2){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int*, [core::int*, core::int*]) →* core::String*};
- extern.{self::External::listen}(new self::TestListener::•()){(self::Listener*) →* void};
- extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener*) →* void};
+ self::Foo foo = new self::Foo::•();
+ dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) → dynamic};
+ self::External extern = self::createExternal();
+ core::String string4 = extern.{self::External::externalMethod}(1){(core::int, [core::int, core::int]) → core::String};
+ core::String string5 = extern.{self::External::externalMethod}(1, 2){(core::int, [core::int, core::int]) → core::String};
+ core::String string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int, [core::int, core::int]) → core::String};
+ extern.{self::External::listen}(new self::TestListener::•()){(self::Listener) → void};
+ extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener) → void};
extern.{self::External::listen}(invalid-expression "pkg/front_end/testcases/general/optional.dart:47:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
- 'InvalidListener' is from 'pkg/front_end/testcases/general/optional.dart'.
- 'Listener' is from 'pkg/front_end/testcases/general/optional.dart'.
extern.listen(new InvalidListener());
- ^" in new self::InvalidListener::•() as{TypeError} self::Listener*){(self::Listener*) →* void};
+ ^" in new self::InvalidListener::•() as{TypeError,ForNonNullableByDefault} self::Listener){(self::Listener) → void};
invalid-type nothing1 = invalid-expression "pkg/front_end/testcases/general/optional.dart:49:28: Error: Too few positional arguments: 1 required, 0 given.
var nothing1 = foo.method();
- ^" in foo.{self::Foo::method}{<inapplicable>}.(){() →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing2 = invalid-expression "pkg/front_end/testcases/general/optional.dart:50:28: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing2 = foo.method(1, 2, 3, 4);
- ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/optional.dart:51:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = extern.externalMethod();
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/optional.dart:52:39: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing4 = extern.externalMethod(1, 2, 3, 4);
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
}
constants {
diff --git a/pkg/front_end/testcases/general/optional.dart.weak.outline.expect b/pkg/front_end/testcases/general/optional.dart.weak.outline.expect
index 319a00f..0d055ce 100644
--- a/pkg/front_end/testcases/general/optional.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/optional.dart.weak.outline.expect
@@ -1,82 +1,42 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
method method(dynamic x, [dynamic y, dynamic z]) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class External extends core::Object {
- synthetic constructor •() → self::External*
+ synthetic constructor •() → self::External
;
- abstract method externalMethod(core::int* x, [core::int* y, core::int* z]) → core::String*;
- abstract method listen(self::Listener* listener) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalMethod(core::int x, [core::int y, core::int z]) → core::String;
+ abstract method listen(self::Listener listener) → void;
}
abstract class Listener extends core::Object {
- synthetic constructor •() → self::Listener*
+ synthetic constructor •() → self::Listener
;
- abstract method event(core::String* input, [core::int* x, core::int* y]) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method event(core::String input, [core::int? x, core::int? y]) → void;
}
class TestListener extends self::Listener {
- synthetic constructor •() → self::TestListener*
+ synthetic constructor •() → self::TestListener
;
- method event(core::String* input, [core::int* x, core::int* y]) → void
+ method event(core::String input, [core::int? x, core::int? y]) → void
;
}
class ExtendedListener extends self::Listener {
- synthetic constructor •() → self::ExtendedListener*
+ synthetic constructor •() → self::ExtendedListener
;
- method event(core::String* input, [core::int* x, core::int* y, dynamic z]) → void
+ method event(core::String input, [core::int? x, core::int? y, dynamic z]) → void
;
}
class InvalidListener extends core::Object {
- synthetic constructor •() → self::InvalidListener*
+ synthetic constructor •() → self::InvalidListener
;
method event(dynamic input, [dynamic x]) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-external static method createExternal() → self::External*;
+external static method createExternal() → self::External;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/optional.dart.weak.transformed.expect b/pkg/front_end/testcases/general/optional.dart.weak.transformed.expect
index 6ca451d..36aa8b1 100644
--- a/pkg/front_end/testcases/general/optional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/optional.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,115 +30,75 @@
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method method(dynamic x, [dynamic y = #C1, dynamic z = #C1]) → dynamic {
return "string";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class External extends core::Object {
- synthetic constructor •() → self::External*
+ synthetic constructor •() → self::External
: super core::Object::•()
;
- abstract method externalMethod(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → core::String*;
- abstract method listen(self::Listener* listener) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalMethod(core::int x, [core::int y = #C1, core::int z = #C1]) → core::String;
+ abstract method listen(self::Listener listener) → void;
}
abstract class Listener extends core::Object {
- synthetic constructor •() → self::Listener*
+ synthetic constructor •() → self::Listener
: super core::Object::•()
;
- abstract method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void;
}
class TestListener extends self::Listener {
- synthetic constructor •() → self::TestListener*
+ synthetic constructor •() → self::TestListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1]) → void {}
}
class ExtendedListener extends self::Listener {
- synthetic constructor •() → self::ExtendedListener*
+ synthetic constructor •() → self::ExtendedListener
: super self::Listener::•()
;
- method event(core::String* input, [core::int* x = #C1, core::int* y = #C1, dynamic z = #C1]) → void {}
+ method event(core::String input, [core::int? x = #C1, core::int? y = #C1, dynamic z = #C1]) → void {}
}
class InvalidListener extends core::Object {
- synthetic constructor •() → self::InvalidListener*
+ synthetic constructor •() → self::InvalidListener
: super core::Object::•()
;
method event(dynamic input, [dynamic x = #C1]) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-external static method createExternal() → self::External*;
+external static method createExternal() → self::External;
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
- dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) →* dynamic};
- dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) →* dynamic};
- self::External* extern = self::createExternal();
- core::String* string4 = extern.{self::External::externalMethod}(1){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string5 = extern.{self::External::externalMethod}(1, 2){(core::int*, [core::int*, core::int*]) →* core::String*};
- core::String* string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int*, [core::int*, core::int*]) →* core::String*};
- extern.{self::External::listen}(new self::TestListener::•()){(self::Listener*) →* void};
- extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener*) →* void};
+ self::Foo foo = new self::Foo::•();
+ dynamic string1 = foo.{self::Foo::method}(1){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string2 = foo.{self::Foo::method}(1, 2){(dynamic, [dynamic, dynamic]) → dynamic};
+ dynamic string3 = foo.{self::Foo::method}(1, 2, 3){(dynamic, [dynamic, dynamic]) → dynamic};
+ self::External extern = self::createExternal();
+ core::String string4 = extern.{self::External::externalMethod}(1){(core::int, [core::int, core::int]) → core::String};
+ core::String string5 = extern.{self::External::externalMethod}(1, 2){(core::int, [core::int, core::int]) → core::String};
+ core::String string6 = extern.{self::External::externalMethod}(1, 2, 3){(core::int, [core::int, core::int]) → core::String};
+ extern.{self::External::listen}(new self::TestListener::•()){(self::Listener) → void};
+ extern.{self::External::listen}(new self::ExtendedListener::•()){(self::Listener) → void};
extern.{self::External::listen}(invalid-expression "pkg/front_end/testcases/general/optional.dart:47:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
- 'InvalidListener' is from 'pkg/front_end/testcases/general/optional.dart'.
- 'Listener' is from 'pkg/front_end/testcases/general/optional.dart'.
extern.listen(new InvalidListener());
- ^" in new self::InvalidListener::•() as{TypeError} self::Listener*){(self::Listener*) →* void};
+ ^" in new self::InvalidListener::•() as{TypeError,ForNonNullableByDefault} self::Listener){(self::Listener) → void};
invalid-type nothing1 = invalid-expression "pkg/front_end/testcases/general/optional.dart:49:28: Error: Too few positional arguments: 1 required, 0 given.
var nothing1 = foo.method();
- ^" in foo.{self::Foo::method}{<inapplicable>}.(){() →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing2 = invalid-expression "pkg/front_end/testcases/general/optional.dart:50:28: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing2 = foo.method(1, 2, 3, 4);
- ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/optional.dart:51:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = extern.externalMethod();
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() → invalid-type};
invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/optional.dart:52:39: Error: Too many positional arguments: 3 allowed, but 4 found.
Try removing the extra positional arguments.
var nothing4 = extern.externalMethod(1, 2, 3, 4);
- ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) → invalid-type};
}
constants {
diff --git a/pkg/front_end/testcases/general/override.dart b/pkg/front_end/testcases/general/override.dart
index 0b4421a..03f9c9f 100644
--- a/pkg/front_end/testcases/general/override.dart
+++ b/pkg/front_end/testcases/general/override.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class Foo {}
class Bar extends Foo {}
diff --git a/pkg/front_end/testcases/general/override.dart.textual_outline.expect b/pkg/front_end/testcases/general/override.dart.textual_outline.expect
index 081b011..272b930 100644
--- a/pkg/front_end/testcases/general/override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {}
class Bar extends Foo {}
diff --git a/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
index 5d96ffa..ef2c070 100644
--- a/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Bar extends Foo {}
class Base {
diff --git a/pkg/front_end/testcases/general/override.dart.weak.expect b/pkg/front_end/testcases/general/override.dart.weak.expect
index 2ce1243..7991685 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.expect
@@ -1,55 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends self::Foo {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super self::Foo::•()
;
}
class Base extends core::Object {
- synthetic constructor •() → self::Base*
+ synthetic constructor •() → self::Base
: super core::Object::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Foo::•();
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Base {
- synthetic constructor •() → self::Sub*
+ synthetic constructor •() → self::Sub
: super self::Base::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Bar::•();
}
}
-static method main(core::List<core::String*>* args) → dynamic {
- self::Base* object = args.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Base*} new self::Base::•() : new self::Sub::•();
- self::Foo* a = object.{self::Base::method}(){() →* self::Foo*};
+static method main(core::List<core::String> args) → dynamic {
+ self::Base object = args.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Base} new self::Base::•() : new self::Sub::•();
+ self::Foo a = object.{self::Base::method}(){() → self::Foo};
core::print(a);
}
diff --git a/pkg/front_end/testcases/general/override.dart.weak.modular.expect b/pkg/front_end/testcases/general/override.dart.weak.modular.expect
index 2ce1243..7991685 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.modular.expect
@@ -1,55 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends self::Foo {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super self::Foo::•()
;
}
class Base extends core::Object {
- synthetic constructor •() → self::Base*
+ synthetic constructor •() → self::Base
: super core::Object::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Foo::•();
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Base {
- synthetic constructor •() → self::Sub*
+ synthetic constructor •() → self::Sub
: super self::Base::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Bar::•();
}
}
-static method main(core::List<core::String*>* args) → dynamic {
- self::Base* object = args.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Base*} new self::Base::•() : new self::Sub::•();
- self::Foo* a = object.{self::Base::method}(){() →* self::Foo*};
+static method main(core::List<core::String> args) → dynamic {
+ self::Base object = args.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Base} new self::Base::•() : new self::Sub::•();
+ self::Foo a = object.{self::Base::method}(){() → self::Foo};
core::print(a);
}
diff --git a/pkg/front_end/testcases/general/override.dart.weak.outline.expect b/pkg/front_end/testcases/general/override.dart.weak.outline.expect
index d64628d..71c62cc 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.outline.expect
@@ -1,46 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends self::Foo {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
;
}
class Base extends core::Object {
- synthetic constructor •() → self::Base*
+ synthetic constructor •() → self::Base
;
- method method() → self::Foo*
+ method method() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Base {
- synthetic constructor •() → self::Sub*
+ synthetic constructor •() → self::Sub
;
- method method() → self::Foo*
+ method method() → self::Foo
;
}
-static method main(core::List<core::String*>* args) → dynamic
+static method main(core::List<core::String> args) → dynamic
;
diff --git a/pkg/front_end/testcases/general/override.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
index 2ce1243..7991685 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
@@ -1,55 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends self::Foo {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super self::Foo::•()
;
}
class Base extends core::Object {
- synthetic constructor •() → self::Base*
+ synthetic constructor •() → self::Base
: super core::Object::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Foo::•();
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Base {
- synthetic constructor •() → self::Sub*
+ synthetic constructor •() → self::Sub
: super self::Base::•()
;
- method method() → self::Foo* {
+ method method() → self::Foo {
return new self::Bar::•();
}
}
-static method main(core::List<core::String*>* args) → dynamic {
- self::Base* object = args.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Base*} new self::Base::•() : new self::Sub::•();
- self::Foo* a = object.{self::Base::method}(){() →* self::Foo*};
+static method main(core::List<core::String> args) → dynamic {
+ self::Base object = args.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} 0 ?{self::Base} new self::Base::•() : new self::Sub::•();
+ self::Foo a = object.{self::Base::method}(){() → self::Foo};
core::print(a);
}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
index 1aabd7e..a855dd5 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
@@ -1,29 +1,29 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B extends A {}
class C {
void set x(A value) {}
- B get y => null;
+ B get y => throw '';
}
class D extends C {
void set x(value) {} // Inferred type: A
- get y => null; // Inferred type: B
+ get y => throw ''; // Inferred type: B
}
class E extends D {
void set x(A value) {} // Ok
- B get y => null; // Ok
+ B get y => throw ''; // Ok
}
class F extends D {
void set x(B value) {}
- A get y => null;
+ A get y => throw '';
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
index 905b367..777dc0b 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
@@ -1,26 +1,25 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
void set x(A value) {}
- B get y => null;
+ B get y => throw '';
}
class D extends C {
void set x(value) {}
- get y => null;
+ get y => throw '';
}
class E extends D {
void set x(A value) {}
- B get y => null;
+ B get y => throw '';
}
class F extends D {
void set x(B value) {}
- A get y => null;
+ A get y => throw '';
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
index e6a1048..a9ea376 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
@@ -1,25 +1,24 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
- B get y => null;
+ B get y => throw '';
void set x(A value) {}
}
class D extends C {
- get y => null;
+ get y => throw '';
void set x(value) {}
}
class E extends D {
- B get y => null;
+ B get y => throw '';
void set x(A value) {}
}
class F extends D {
- A get y => null;
+ A get y => throw '';
void set x(B value) {}
}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect
index 181c1db..aac1b94 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// Change to a subtype of 'B'.
-// A get y => null;
+// A get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:16:7: Context: This is the overridden method ('y').
-// get y => null; // Inferred type: B
+// get y => throw ''; // Inferred type: B
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:25:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
@@ -26,65 +26,45 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::D::•()
;
- set x(self::B* value) → void {}
- get y() → self::A*
- return null;
+ set x(self::B value) → void {}
+ get y() → self::A
+ return throw "";
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.modular.expect
index 181c1db..aac1b94 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// Change to a subtype of 'B'.
-// A get y => null;
+// A get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:16:7: Context: This is the overridden method ('y').
-// get y => null; // Inferred type: B
+// get y => throw ''; // Inferred type: B
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:25:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
@@ -26,65 +26,45 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
- set x(self::A* value) → void {}
- get y() → self::B*
- return null;
+ set x(self::A value) → void {}
+ get y() → self::B
+ return throw "";
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::D::•()
;
- set x(self::B* value) → void {}
- get y() → self::A*
- return null;
+ set x(self::B value) → void {}
+ get y() → self::A
+ return throw "";
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect
index 8d25095..9d8be24 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_accessor_after_inference.dart'.
// Change to a subtype of 'B'.
-// A get y => null;
+// A get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:16:7: Context: This is the overridden method ('y').
-// get y => null; // Inferred type: B
+// get y => throw ''; // Inferred type: B
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_after_inference.dart:25:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
@@ -26,63 +26,43 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- set x(self::A* value) → void
+ set x(self::A value) → void
;
- get y() → self::B*
+ get y() → self::B
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- set x(self::A* value) → void
+ set x(self::A value) → void
;
- get y() → self::B*
+ get y() → self::B
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- set x(self::A* value) → void
+ set x(self::A value) → void
;
- get y() → self::B*
+ get y() → self::B
;
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
- set x(self::B* value) → void
+ set x(self::B value) → void
;
- get y() → self::A*
+ get y() → self::A
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart b/pkg/front_end/testcases/general/override_check_accessor_basic.dart
index a68326b..2157464 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart
@@ -1,24 +1,24 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B extends A {}
class C {
void set x(A value) {}
- A get y => null;
+ A get y => throw '';
}
class D extends C {
void set x(Object value) {} // Ok
- B get y => null; // Ok
+ B get y => throw ''; // Ok
}
class E extends C {
void set x(B value) {}
- Object get y => null;
+ Object get y => throw '';
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
index af6849d..13b6a43 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
@@ -1,21 +1,20 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
void set x(A value) {}
- A get y => null;
+ A get y => throw '';
}
class D extends C {
void set x(Object value) {}
- B get y => null;
+ B get y => throw '';
}
class E extends C {
void set x(B value) {}
- Object get y => null;
+ Object get y => throw '';
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
index 2e4ff3e..0e700d4 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
@@ -1,20 +1,19 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
- A get y => null;
+ A get y => throw '';
void set x(A value) {}
}
class D extends C {
- B get y => null;
+ B get y => throw '';
void set x(Object value) {}
}
class E extends C {
- Object get y => null;
+ Object get y => throw '';
void set x(B value) {}
}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect
index d576b70..7f32945 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_basic.dart'.
// Change to a subtype of 'A'.
-// Object get y => null;
+// Object get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:11:9: Context: This is the overridden method ('y').
-// A get y => null;
+// A get y => throw '';
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:20:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
@@ -26,57 +26,37 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- set x(self::A* value) → void {}
- get y() → self::A*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set x(self::A value) → void {}
+ get y() → self::A
+ return throw "";
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- set x(core::Object* value) → void {}
- get y() → self::B*
- return null;
+ set x(core::Object value) → void {}
+ get y() → self::B
+ return throw "";
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::C::•()
;
- set x(self::B* value) → void {}
- get y() → core::Object*
- return null;
+ set x(self::B value) → void {}
+ get y() → core::Object
+ return throw "";
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.modular.expect
index d576b70..7f32945 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_basic.dart'.
// Change to a subtype of 'A'.
-// Object get y => null;
+// Object get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:11:9: Context: This is the overridden method ('y').
-// A get y => null;
+// A get y => throw '';
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:20:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
@@ -26,57 +26,37 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- set x(self::A* value) → void {}
- get y() → self::A*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set x(self::A value) → void {}
+ get y() → self::A
+ return throw "";
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- set x(core::Object* value) → void {}
- get y() → self::B*
- return null;
+ set x(core::Object value) → void {}
+ get y() → self::B
+ return throw "";
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::C::•()
;
- set x(self::B* value) → void {}
- get y() → core::Object*
- return null;
+ set x(self::B value) → void {}
+ get y() → core::Object
+ return throw "";
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect
index dc600f1..a6651d0 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -6,10 +6,10 @@
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_accessor_basic.dart'.
// Change to a subtype of 'A'.
-// Object get y => null;
+// Object get y => throw '';
// ^
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:11:9: Context: This is the overridden method ('y').
-// A get y => null;
+// A get y => throw '';
// ^
//
// pkg/front_end/testcases/general/override_check_accessor_basic.dart:20:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
@@ -26,55 +26,35 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- set x(self::A* value) → void
+ set x(self::A value) → void
;
- get y() → self::A*
+ get y() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- set x(core::Object* value) → void
+ set x(core::Object value) → void
;
- get y() → self::B*
+ get y() → self::B
;
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- set x(self::B* value) → void
+ set x(self::B value) → void
;
- get y() → core::Object*
+ get y() → core::Object
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart b/pkg/front_end/testcases/general/override_check_after_inference.dart
index 91a39cb..e818940 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
index 3566c9f..b2c8457 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
index 3566c9f..b2c8457 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect
index f6a987f..827bd7e 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,57 +16,37 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f(self::A* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f(self::A x) → void {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f(self::A* x) → void {}
+ method f(self::A x) → void {}
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
- method f(self::A* x) → void {}
+ method f(self::A x) → void {}
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::D::•()
;
- method f(self::B* x) → void {}
+ method f(self::B x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.modular.expect
index f6a987f..827bd7e 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,57 +16,37 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f(self::A* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f(self::A x) → void {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f(self::A* x) → void {}
+ method f(self::A x) → void {}
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
- method f(self::A* x) → void {}
+ method f(self::A x) → void {}
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::D::•()
;
- method f(self::B* x) → void {}
+ method f(self::B x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect
index 8b53cde..30f23cf 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,55 +16,35 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method f(self::A* x) → void
+ method f(self::A x) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- method f(self::A* x) → void
+ method f(self::A x) → void
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- method f(self::A* x) → void
+ method f(self::A x) → void
;
}
class F extends self::D {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
- method f(self::B* x) → void
+ method f(self::B x) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart b/pkg/front_end/testcases/general/override_check_basic.dart
index acc74f9..04774f6 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart
+++ b/pkg/front_end/testcases/general/override_check_basic.dart
@@ -1,30 +1,30 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B extends A {}
class C {
void f1(A x) {}
- void f2([A x]) {}
- void f3({A x}) {}
- A f4() {}
+ void f2([A? x]) {}
+ void f3({A? x}) {}
+ A? f4() {}
}
class D extends C {
void f1(Object x) {} // Ok
- void f2([Object x]) {} // Ok
- void f3({Object x}) {} // Ok
- B f4() {} // Ok
+ void f2([Object? x]) {} // Ok
+ void f3({Object? x}) {} // Ok
+ B? f4() {} // Ok
}
class E extends C {
void f1(B x) {}
- void f2([B x]) {}
- void f3({B x}) {}
- Object f4() {}
+ void f2([B? x]) {}
+ void f3({B? x}) {}
+ Object? f4() {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
index 1b10878..aca06e2 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
@@ -1,27 +1,26 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
void f1(A x) {}
- void f2([A x]) {}
- void f3({A x}) {}
- A f4() {}
+ void f2([A? x]) {}
+ void f3({A? x}) {}
+ A? f4() {}
}
class D extends C {
void f1(Object x) {}
- void f2([Object x]) {}
- void f3({Object x}) {}
- B f4() {}
+ void f2([Object? x]) {}
+ void f3({Object? x}) {}
+ B? f4() {}
}
class E extends C {
void f1(B x) {}
- void f2([B x]) {}
- void f3({B x}) {}
- Object f4() {}
+ void f2([B? x]) {}
+ void f3({B? x}) {}
+ Object? f4() {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
index 91af33b..7b3ae98 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
@@ -1,27 +1,26 @@
-// @dart = 2.9
class A {}
class B extends A {}
class C {
- A f4() {}
+ A? f4() {}
void f1(A x) {}
- void f2([A x]) {}
- void f3({A x}) {}
+ void f2([A? x]) {}
+ void f3({A? x}) {}
}
class D extends C {
- B f4() {}
+ B? f4() {}
void f1(Object x) {}
- void f2([Object x]) {}
- void f3({Object x}) {}
+ void f2([Object? x]) {}
+ void f3({Object? x}) {}
}
class E extends C {
- Object f4() {}
+ Object? f4() {}
void f1(B x) {}
- void f2([B x]) {}
- void f3({B x}) {}
+ void f2([B? x]) {}
+ void f3({B? x}) {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.weak.expect b/pkg/front_end/testcases/general/override_check_basic.dart.weak.expect
index e19c0a4..01ec495 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,95 +12,75 @@
// void f1(A x) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:25:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
+// pkg/front_end/testcases/general/override_check_basic.dart:25:15: Error: The parameter 'x' of the method 'E.f2' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f2'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f2([B x]) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f2([B? x]) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:11:8: Context: This is the overridden method ('f2').
-// void f2([A x]) {}
+// void f2([A? x]) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:26:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
+// pkg/front_end/testcases/general/override_check_basic.dart:26:15: Error: The parameter 'x' of the method 'E.f3' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f3'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f3({B x}) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f3({B? x}) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:12:8: Context: This is the overridden method ('f3').
-// void f3({A x}) {}
+// void f3({A? x}) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:27:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
+// pkg/front_end/testcases/general/override_check_basic.dart:27:11: Error: The return type of the method 'E.f4' is 'Object?', which does not match the return type, 'A?', of the overridden method, 'C.f4'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a subtype of 'A'.
-// Object f4() {}
-// ^
-// pkg/front_end/testcases/general/override_check_basic.dart:13:5: Context: This is the overridden method ('f4').
-// A f4() {}
-// ^
+// Change to a subtype of 'A?'.
+// Object? f4() {}
+// ^
+// pkg/front_end/testcases/general/override_check_basic.dart:13:6: Context: This is the overridden method ('f4').
+// A? f4() {}
+// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f1(self::A* x) → void {}
- method f2([self::A* x = #C1]) → void {}
- method f3({self::A* x = #C1}) → void {}
- method f4() → self::A* {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f1(self::A x) → void {}
+ method f2([self::A? x = #C1]) → void {}
+ method f3({self::A? x = #C1}) → void {}
+ method f4() → self::A? {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(core::Object* x) → void {}
- method f2([core::Object* x = #C1]) → void {}
- method f3({core::Object* x = #C1}) → void {}
- method f4() → self::B* {}
+ method f1(core::Object x) → void {}
+ method f2([core::Object? x = #C1]) → void {}
+ method f3({core::Object? x = #C1}) → void {}
+ method f4() → self::B? {}
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::C::•()
;
- method f1(self::B* x) → void {}
- method f2([self::B* x = #C1]) → void {}
- method f3({self::B* x = #C1}) → void {}
- method f4() → core::Object* {}
+ method f1(self::B x) → void {}
+ method f2([self::B? x = #C1]) → void {}
+ method f3({self::B? x = #C1}) → void {}
+ method f4() → core::Object? {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_basic.dart.weak.modular.expect
index e19c0a4..01ec495 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,95 +12,75 @@
// void f1(A x) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:25:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
+// pkg/front_end/testcases/general/override_check_basic.dart:25:15: Error: The parameter 'x' of the method 'E.f2' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f2'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f2([B x]) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f2([B? x]) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:11:8: Context: This is the overridden method ('f2').
-// void f2([A x]) {}
+// void f2([A? x]) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:26:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
+// pkg/front_end/testcases/general/override_check_basic.dart:26:15: Error: The parameter 'x' of the method 'E.f3' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f3'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f3({B x}) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f3({B? x}) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:12:8: Context: This is the overridden method ('f3').
-// void f3({A x}) {}
+// void f3({A? x}) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:27:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
+// pkg/front_end/testcases/general/override_check_basic.dart:27:11: Error: The return type of the method 'E.f4' is 'Object?', which does not match the return type, 'A?', of the overridden method, 'C.f4'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a subtype of 'A'.
-// Object f4() {}
-// ^
-// pkg/front_end/testcases/general/override_check_basic.dart:13:5: Context: This is the overridden method ('f4').
-// A f4() {}
-// ^
+// Change to a subtype of 'A?'.
+// Object? f4() {}
+// ^
+// pkg/front_end/testcases/general/override_check_basic.dart:13:6: Context: This is the overridden method ('f4').
+// A? f4() {}
+// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f1(self::A* x) → void {}
- method f2([self::A* x = #C1]) → void {}
- method f3({self::A* x = #C1}) → void {}
- method f4() → self::A* {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f1(self::A x) → void {}
+ method f2([self::A? x = #C1]) → void {}
+ method f3({self::A? x = #C1}) → void {}
+ method f4() → self::A? {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(core::Object* x) → void {}
- method f2([core::Object* x = #C1]) → void {}
- method f3({core::Object* x = #C1}) → void {}
- method f4() → self::B* {}
+ method f1(core::Object x) → void {}
+ method f2([core::Object? x = #C1]) → void {}
+ method f3({core::Object? x = #C1}) → void {}
+ method f4() → self::B? {}
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::C::•()
;
- method f1(self::B* x) → void {}
- method f2([self::B* x = #C1]) → void {}
- method f3({self::B* x = #C1}) → void {}
- method f4() → core::Object* {}
+ method f1(self::B x) → void {}
+ method f2([self::B? x = #C1]) → void {}
+ method f3({self::B? x = #C1}) → void {}
+ method f4() → core::Object? {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect
index 6cf4efa..50f0b43 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,101 +12,81 @@
// void f1(A x) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:25:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
+// pkg/front_end/testcases/general/override_check_basic.dart:25:15: Error: The parameter 'x' of the method 'E.f2' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f2'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f2([B x]) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f2([B? x]) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:11:8: Context: This is the overridden method ('f2').
-// void f2([A x]) {}
+// void f2([A? x]) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:26:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
+// pkg/front_end/testcases/general/override_check_basic.dart:26:15: Error: The parameter 'x' of the method 'E.f3' has type 'B?', which does not match the corresponding type, 'A?', in the overridden method, 'C.f3'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-// void f3({B x}) {}
-// ^
+// Change to a supertype of 'A?', or, for a covariant parameter, a subtype.
+// void f3({B? x}) {}
+// ^
// pkg/front_end/testcases/general/override_check_basic.dart:12:8: Context: This is the overridden method ('f3').
-// void f3({A x}) {}
+// void f3({A? x}) {}
// ^
//
-// pkg/front_end/testcases/general/override_check_basic.dart:27:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
+// pkg/front_end/testcases/general/override_check_basic.dart:27:11: Error: The return type of the method 'E.f4' is 'Object?', which does not match the return type, 'A?', of the overridden method, 'C.f4'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_basic.dart'.
-// Change to a subtype of 'A'.
-// Object f4() {}
-// ^
-// pkg/front_end/testcases/general/override_check_basic.dart:13:5: Context: This is the overridden method ('f4').
-// A f4() {}
-// ^
+// Change to a subtype of 'A?'.
+// Object? f4() {}
+// ^
+// pkg/front_end/testcases/general/override_check_basic.dart:13:6: Context: This is the overridden method ('f4').
+// A? f4() {}
+// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method f1(self::A* x) → void
+ method f1(self::A x) → void
;
- method f2([self::A* x]) → void
+ method f2([self::A? x]) → void
;
- method f3({self::A* x}) → void
+ method f3({self::A? x}) → void
;
- method f4() → self::A*
+ method f4() → self::A?
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- method f1(core::Object* x) → void
+ method f1(core::Object x) → void
;
- method f2([core::Object* x]) → void
+ method f2([core::Object? x]) → void
;
- method f3({core::Object* x}) → void
+ method f3({core::Object? x}) → void
;
- method f4() → self::B*
+ method f4() → self::B?
;
}
class E extends self::C {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- method f1(self::B* x) → void
+ method f1(self::B x) → void
;
- method f2([self::B* x]) → void
+ method f2([self::B? x]) → void
;
- method f3({self::B* x}) → void
+ method f3({self::B? x}) → void
;
- method f4() → core::Object*
+ method f4() → core::Object?
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
index 3813c09..3058fbf 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
// This test checks that an override of a generic method is allowed in case of
// correctly defined f-bounded type variables.
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
index 6c7d0ca..eaac90c 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo<T extends Foo<T>> {}
abstract class Bar {
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
index 7d0123c..cdebc76 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Bar {
void fisk<S extends Foo<S>>();
}
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect
index ed9f7b4..3f2545a 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect
@@ -1,54 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
- synthetic constructor •() → self::Foo<self::Foo::T*>*
+class Foo<T extends self::Foo<self::Foo::T> = self::Foo<dynamic>> extends core::Object {
+ synthetic constructor •() → self::Foo<self::Foo::T>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method fisk<S extends self::Foo<self::Bar::fisk::S> = self::Foo<dynamic>>() → void;
}
class Hest extends core::Object implements self::Bar {
- synthetic constructor •() → self::Hest*
+ synthetic constructor •() → self::Hest
: super core::Object::•()
;
@#C1
- method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method fisk<U extends self::Foo<self::Hest::fisk::U> = self::Foo<dynamic>>() → void {}
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.modular.expect
index ed9f7b4..3f2545a 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.modular.expect
@@ -1,54 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
- synthetic constructor •() → self::Foo<self::Foo::T*>*
+class Foo<T extends self::Foo<self::Foo::T> = self::Foo<dynamic>> extends core::Object {
+ synthetic constructor •() → self::Foo<self::Foo::T>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method fisk<S extends self::Foo<self::Bar::fisk::S> = self::Foo<dynamic>>() → void;
}
class Hest extends core::Object implements self::Bar {
- synthetic constructor •() → self::Hest*
+ synthetic constructor •() → self::Hest
: super core::Object::•()
;
@#C1
- method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method fisk<U extends self::Foo<self::Hest::fisk::U> = self::Foo<dynamic>>() → void {}
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect
index 0242ff5..4da40e5 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect
@@ -1,52 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
- synthetic constructor •() → self::Foo<self::Foo::T*>*
+class Foo<T extends self::Foo<self::Foo::T> = self::Foo<dynamic>> extends core::Object {
+ synthetic constructor •() → self::Foo<self::Foo::T>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
;
- abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method fisk<S extends self::Foo<self::Bar::fisk::S> = self::Foo<dynamic>>() → void;
}
class Hest extends core::Object implements self::Bar {
- synthetic constructor •() → self::Hest*
+ synthetic constructor •() → self::Hest
;
@core::override
- method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void
+ method fisk<U extends self::Foo<self::Hest::fisk::U> = self::Foo<dynamic>>() → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect
index ed9f7b4..3f2545a 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect
@@ -1,54 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
- synthetic constructor •() → self::Foo<self::Foo::T*>*
+class Foo<T extends self::Foo<self::Foo::T> = self::Foo<dynamic>> extends core::Object {
+ synthetic constructor •() → self::Foo<self::Foo::T>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method fisk<S extends self::Foo<self::Bar::fisk::S> = self::Foo<dynamic>>() → void;
}
class Hest extends core::Object implements self::Bar {
- synthetic constructor •() → self::Hest*
+ synthetic constructor •() → self::Hest
: super core::Object::•()
;
@#C1
- method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method fisk<U extends self::Foo<self::Hest::fisk::U> = self::Foo<dynamic>>() → void {}
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart b/pkg/front_end/testcases/general/override_check_two_substitutions.dart
index 096bff7..5f5ea0f 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A<T> {
void f<U>(Map<T, U> m) {}
}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
index b13a767..9548980 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<T> {
void f<U>(Map<T, U> m) {}
}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
index b13a767..9548980 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<T> {
void f<U>(Map<T, U> m) {}
}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect
index 54a4764..6f82627 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::T%>
: super core::Object::•()
;
- method f<U extends core::Object* = dynamic>(covariant-by-class core::Map<self::A::T*, self::A::f::U*>* m) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<U extends core::Object? = dynamic>(covariant-by-class core::Map<self::A::T%, self::A::f::U%> m) → void {}
}
-class B extends self::A<core::String*> {
- synthetic constructor •() → self::B*
+class B extends self::A<core::String> {
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method f<V extends core::Object* = dynamic>(covariant-by-class core::Map<core::String*, self::B::f::V*>* m) → void {}
+ method f<V extends core::Object? = dynamic>(covariant-by-class core::Map<core::String, self::B::f::V%> m) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.modular.expect
index 54a4764..6f82627 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::T%>
: super core::Object::•()
;
- method f<U extends core::Object* = dynamic>(covariant-by-class core::Map<self::A::T*, self::A::f::U*>* m) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<U extends core::Object? = dynamic>(covariant-by-class core::Map<self::A::T%, self::A::f::U%> m) → void {}
}
-class B extends self::A<core::String*> {
- synthetic constructor •() → self::B*
+class B extends self::A<core::String> {
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method f<V extends core::Object* = dynamic>(covariant-by-class core::Map<core::String*, self::B::f::V*>* m) → void {}
+ method f<V extends core::Object? = dynamic>(covariant-by-class core::Map<core::String, self::B::f::V%> m) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect
index cf3b6b2..458fe57 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::T%>
;
- method f<U extends core::Object* = dynamic>(covariant-by-class core::Map<self::A::T*, self::A::f::U*>* m) → void
+ method f<U extends core::Object? = dynamic>(covariant-by-class core::Map<self::A::T%, self::A::f::U%> m) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B extends self::A<core::String*> {
- synthetic constructor •() → self::B*
+class B extends self::A<core::String> {
+ synthetic constructor •() → self::B
;
- method f<V extends core::Object* = dynamic>(covariant-by-class core::Map<core::String*, self::B::f::V*>* m) → void
+ method f<V extends core::Object? = dynamic>(covariant-by-class core::Map<core::String, self::B::f::V%> m) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect
index 54a4764..6f82627 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::T%>
: super core::Object::•()
;
- method f<U extends core::Object* = dynamic>(covariant-by-class core::Map<self::A::T*, self::A::f::U*>* m) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<U extends core::Object? = dynamic>(covariant-by-class core::Map<self::A::T%, self::A::f::U%> m) → void {}
}
-class B extends self::A<core::String*> {
- synthetic constructor •() → self::B*
+class B extends self::A<core::String> {
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method f<V extends core::Object* = dynamic>(covariant-by-class core::Map<core::String*, self::B::f::V*>* m) → void {}
+ method f<V extends core::Object? = dynamic>(covariant-by-class core::Map<core::String, self::B::f::V%> m) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
index 4f7466b..09df2e39 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
index f024389..1c8bfe2 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
index f024389..1c8bfe2 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect
index ceabd22..36b4cca 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -25,55 +25,35 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f1(covariant-by-declaration self::A* x) → void {}
- method f2(self::A* x) → void {}
- method f3(covariant-by-declaration self::A* x) → void {}
- method f4(self::A* x) → void {}
- method f5(covariant-by-declaration self::A* x) → void {}
- method f6(covariant-by-declaration self::B* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f1(covariant-by-declaration self::A x) → void {}
+ method f2(self::A x) → void {}
+ method f3(covariant-by-declaration self::A x) → void {}
+ method f4(self::A x) → void {}
+ method f5(covariant-by-declaration self::A x) → void {}
+ method f6(covariant-by-declaration self::B x) → void {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(covariant-by-declaration self::B* x) → void {}
- method f2(covariant-by-declaration self::B* x) → void {}
- method f3(covariant-by-declaration self::B* x) → void {}
- method f4(self::B* x) → void {}
- method f5(covariant-by-declaration core::String* x) → void {}
- method f6(covariant-by-declaration self::A* x) → void {}
+ method f1(covariant-by-declaration self::B x) → void {}
+ method f2(covariant-by-declaration self::B x) → void {}
+ method f3(covariant-by-declaration self::B x) → void {}
+ method f4(self::B x) → void {}
+ method f5(covariant-by-declaration core::String x) → void {}
+ method f6(covariant-by-declaration self::A x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.modular.expect
index ceabd22..36b4cca 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -25,55 +25,35 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method f1(covariant-by-declaration self::A* x) → void {}
- method f2(self::A* x) → void {}
- method f3(covariant-by-declaration self::A* x) → void {}
- method f4(self::A* x) → void {}
- method f5(covariant-by-declaration self::A* x) → void {}
- method f6(covariant-by-declaration self::B* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f1(covariant-by-declaration self::A x) → void {}
+ method f2(self::A x) → void {}
+ method f3(covariant-by-declaration self::A x) → void {}
+ method f4(self::A x) → void {}
+ method f5(covariant-by-declaration self::A x) → void {}
+ method f6(covariant-by-declaration self::B x) → void {}
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method f1(covariant-by-declaration self::B* x) → void {}
- method f2(covariant-by-declaration self::B* x) → void {}
- method f3(covariant-by-declaration self::B* x) → void {}
- method f4(self::B* x) → void {}
- method f5(covariant-by-declaration core::String* x) → void {}
- method f6(covariant-by-declaration self::A* x) → void {}
+ method f1(covariant-by-declaration self::B x) → void {}
+ method f2(covariant-by-declaration self::B x) → void {}
+ method f3(covariant-by-declaration self::B x) → void {}
+ method f4(self::B x) → void {}
+ method f5(covariant-by-declaration core::String x) → void {}
+ method f6(covariant-by-declaration self::A x) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect
index 4d18123..a77e8b4 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -25,63 +25,43 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method f1(covariant-by-declaration self::A* x) → void
+ method f1(covariant-by-declaration self::A x) → void
;
- method f2(self::A* x) → void
+ method f2(self::A x) → void
;
- method f3(covariant-by-declaration self::A* x) → void
+ method f3(covariant-by-declaration self::A x) → void
;
- method f4(self::A* x) → void
+ method f4(self::A x) → void
;
- method f5(covariant-by-declaration self::A* x) → void
+ method f5(covariant-by-declaration self::A x) → void
;
- method f6(covariant-by-declaration self::B* x) → void
+ method f6(covariant-by-declaration self::B x) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- method f1(covariant-by-declaration self::B* x) → void
+ method f1(covariant-by-declaration self::B x) → void
;
- method f2(covariant-by-declaration self::B* x) → void
+ method f2(covariant-by-declaration self::B x) → void
;
- method f3(covariant-by-declaration self::B* x) → void
+ method f3(covariant-by-declaration self::B x) → void
;
- method f4(self::B* x) → void
+ method f4(self::B x) → void
;
- method f5(covariant-by-declaration core::String* x) → void
+ method f5(covariant-by-declaration core::String x) → void
;
- method f6(covariant-by-declaration self::A* x) → void
+ method f6(covariant-by-declaration self::A x) → void
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
index f15fb92..8035f1d 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
abstract class A {
num get getterFromGetter;
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
index d64503e..d720f29 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {
num get getterFromGetter;
set setterFromSetter(num value);
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
index cda97df..81cac22 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {
num get getterFromGetter;
num get getterFromGetterWithSetterConflict;
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect
index a188410..f8ad4ec 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect
@@ -1,117 +1,77 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract set getterFromSetter(core::num* value) → void;
- abstract get setterFromGetter() → core::num*;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract set getterFromSetter(core::num value) → void;
+ abstract get setterFromGetter() → core::num;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set getterFromGetterWithSetterConflict(dynamic num) → void;
- abstract get setterFromSetterWithGetterConflict() → core::num*;
+ abstract get setterFromSetterWithGetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic num) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::int* value) → void;
- abstract get setterFromGetter() → core::int*;
- abstract get setterFromSetterWithGetterConflict() → core::int*;
- abstract set getterFromGetterWithSetterConflict(core::int* value) → void;
- abstract set getterFromSetter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::int value) → void;
+ abstract get setterFromGetter() → core::int;
+ abstract get setterFromSetterWithGetterConflict() → core::int;
+ abstract set getterFromGetterWithSetterConflict(core::int value) → void;
+ abstract set getterFromSetter(core::int value) → void;
}
abstract class C extends self::A {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::A::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
}
abstract class D extends self::A implements self::B {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::A::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
abstract class E extends core::Object implements self::A {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class F extends core::Object implements self::A, self::B {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.modular.expect
index a188410..f8ad4ec 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.modular.expect
@@ -1,117 +1,77 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract set getterFromSetter(core::num* value) → void;
- abstract get setterFromGetter() → core::num*;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract set getterFromSetter(core::num value) → void;
+ abstract get setterFromGetter() → core::num;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set getterFromGetterWithSetterConflict(dynamic num) → void;
- abstract get setterFromSetterWithGetterConflict() → core::num*;
+ abstract get setterFromSetterWithGetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic num) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::int* value) → void;
- abstract get setterFromGetter() → core::int*;
- abstract get setterFromSetterWithGetterConflict() → core::int*;
- abstract set getterFromGetterWithSetterConflict(core::int* value) → void;
- abstract set getterFromSetter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::int value) → void;
+ abstract get setterFromGetter() → core::int;
+ abstract get setterFromSetterWithGetterConflict() → core::int;
+ abstract set getterFromGetterWithSetterConflict(core::int value) → void;
+ abstract set getterFromSetter(core::int value) → void;
}
abstract class C extends self::A {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::A::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
}
abstract class D extends self::A implements self::B {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::A::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
abstract class E extends core::Object implements self::A {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class F extends core::Object implements self::A, self::B {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect
index 0cc2e71..3a91293 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect
@@ -1,112 +1,72 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract set getterFromSetter(core::num* value) → void;
- abstract get setterFromGetter() → core::num*;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract set getterFromSetter(core::num value) → void;
+ abstract get setterFromGetter() → core::num;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set getterFromGetterWithSetterConflict(dynamic num) → void;
- abstract get setterFromSetterWithGetterConflict() → core::num*;
+ abstract get setterFromSetterWithGetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic num) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::int* value) → void;
- abstract get setterFromGetter() → core::int*;
- abstract get setterFromSetterWithGetterConflict() → core::int*;
- abstract set getterFromGetterWithSetterConflict(core::int* value) → void;
- abstract set getterFromSetter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::int value) → void;
+ abstract get setterFromGetter() → core::int;
+ abstract get setterFromSetterWithGetterConflict() → core::int;
+ abstract set getterFromGetterWithSetterConflict(core::int value) → void;
+ abstract set getterFromSetter(core::int value) → void;
}
abstract class C extends self::A {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
}
abstract class D extends self::A implements self::B {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
abstract class E extends core::Object implements self::A {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class F extends core::Object implements self::A, self::B {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect
index a188410..f8ad4ec 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect
@@ -1,117 +1,77 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract set getterFromSetter(core::num* value) → void;
- abstract get setterFromGetter() → core::num*;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract set getterFromSetter(core::num value) → void;
+ abstract get setterFromGetter() → core::num;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set getterFromGetterWithSetterConflict(dynamic num) → void;
- abstract get setterFromSetterWithGetterConflict() → core::num*;
+ abstract get setterFromSetterWithGetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic num) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::int* value) → void;
- abstract get setterFromGetter() → core::int*;
- abstract get setterFromSetterWithGetterConflict() → core::int*;
- abstract set getterFromGetterWithSetterConflict(core::int* value) → void;
- abstract set getterFromSetter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::int value) → void;
+ abstract get setterFromGetter() → core::int;
+ abstract get setterFromSetterWithGetterConflict() → core::int;
+ abstract set getterFromGetterWithSetterConflict(core::int value) → void;
+ abstract set getterFromSetter(core::int value) → void;
}
abstract class C extends self::A {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::A::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
}
abstract class D extends self::A implements self::B {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::A::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
abstract class E extends core::Object implements self::A {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract get getterFromGetter() → core::num*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::num* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::num;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::num value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class F extends core::Object implements self::A, self::B {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract get getterFromGetter() → core::int*;
- abstract set setterFromSetter(core::num* value) → void;
- abstract get getterFromSetter() → core::num*;
- abstract set setterFromGetter(core::int* value) → void;
- abstract get getterFromGetterWithSetterConflict() → core::num*;
+ abstract get getterFromGetter() → core::int;
+ abstract set setterFromSetter(core::num value) → void;
+ abstract get getterFromSetter() → core::num;
+ abstract set setterFromGetter(core::int value) → void;
+ abstract get getterFromGetterWithSetterConflict() → core::num;
abstract set setterFromSetterWithGetterConflict(dynamic value) → void;
- abstract member-signature get setterFromGetter() → core::int*; -> self::B::setterFromGetter
- abstract member-signature get setterFromSetterWithGetterConflict() → core::int*; -> self::B::setterFromSetterWithGetterConflict
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract member-signature get setterFromGetter() → core::int; -> self::B::setterFromGetter
+ abstract member-signature get setterFromSetterWithGetterConflict() → core::int; -> self::B::setterFromSetterWithGetterConflict
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart b/pkg/front_end/testcases/general/override_inference_for_setters.dart
index 97ffd7f..f93d2f8 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart
@@ -1,9 +1,9 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
class B {
- num get foo => null;
+ num get foo => throw '';
set foo(dynamic newFoo) {}
}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
index 7fc47a9..79021a6 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
@@ -1,6 +1,5 @@
-// @dart = 2.9
class B {
- num get foo => null;
+ num get foo => throw '';
set foo(dynamic newFoo) {}
}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
index fcd1a6e..d8b60cf 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
@@ -1,10 +1,9 @@
-// @dart = 2.9
class A extends B {
set foo(newFoo) {}
}
class B {
- num get foo => null;
+ num get foo => throw '';
set foo(dynamic newFoo) {}
}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect
index 845e3fb..fbc6483 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get foo() → core::num*
- return null;
+ get foo() → core::num
+ return throw "";
set foo(dynamic newFoo) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends self::B {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::B::•()
;
set foo(dynamic newFoo) → void {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.modular.expect
index 845e3fb..fbc6483 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get foo() → core::num*
- return null;
+ get foo() → core::num
+ return throw "";
set foo(dynamic newFoo) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends self::B {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::B::•()
;
set foo(dynamic newFoo) → void {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect
index 77549aa..b3cbd65 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- get foo() → core::num*
+ get foo() → core::num
;
set foo(dynamic newFoo) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends self::B {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
set foo(dynamic newFoo) → void
;
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect
index 845e3fb..fbc6483 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get foo() → core::num*
- return null;
+ get foo() → core::num
+ return throw "";
set foo(dynamic newFoo) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends self::B {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::B::•()
;
set foo(dynamic newFoo) → void {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
index 54278d0..b2e98ef 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
@@ -1,35 +1,35 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
// The test checks that override-based inference for named parameters isn't
// affected by the name-based ordering of the parameters.
class A {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
class B extends A {
- foo({c = true, bool a}) {}
+ foo({c = true, bool? a}) {}
}
class C extends B {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
// A1, B1, and C1 are similar to A, B, and C, only they have the names of the
// named parameters swapped, to test that the alternative ordering works.
class A1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
class B1 extends A1 {
- foo({a = true, bool c}) {}
+ foo({a = true, bool? c}) {}
}
class C1 extends B1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
index c73e09b..5585831 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
@@ -1,26 +1,25 @@
-// @dart = 2.9
class A {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
class B extends A {
- foo({c = true, bool a}) {}
+ foo({c = true, bool? a}) {}
}
class C extends B {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
class A1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
class B1 extends A1 {
- foo({a = true, bool c}) {}
+ foo({a = true, bool? c}) {}
}
class C1 extends B1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
index f418728..683b2b2 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
@@ -1,26 +1,25 @@
-// @dart = 2.9
class A {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
class A1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
class B extends A {
- foo({c = true, bool a}) {}
+ foo({c = true, bool? a}) {}
}
class B1 extends A1 {
- foo({a = true, bool c}) {}
+ foo({a = true, bool? c}) {}
}
class C extends B {
- foo({bool c = true, bool a}) {}
+ foo({bool? c = true, bool? a}) {}
}
class C1 extends B1 {
- foo({bool a = true, bool c}) {}
+ foo({bool? a = true, bool? c}) {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect
index 6e67b60..bca16bc 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect
@@ -1,62 +1,42 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class A1 extends core::Object {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super core::Object::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class B1 extends self::A1 {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
: super self::A1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class C1 extends self::B1 {
- synthetic constructor •() → self::C1*
+ synthetic constructor •() → self::C1
: super self::B1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.modular.expect
index 6e67b60..bca16bc 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.modular.expect
@@ -1,62 +1,42 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class A1 extends core::Object {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super core::Object::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class B1 extends self::A1 {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
: super self::A1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class C1 extends self::B1 {
- synthetic constructor •() → self::C1*
+ synthetic constructor •() → self::C1
: super self::B1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect
index f3f9552..17f1de7 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect
@@ -1,61 +1,41 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- method foo({core::bool* c = true, core::bool* a}) → dynamic
+ method foo({core::bool? c = true, core::bool? a}) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- method foo({core::bool* c = true, core::bool* a}) → dynamic
+ method foo({core::bool? c = true, core::bool? a}) → dynamic
;
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method foo({core::bool* c = true, core::bool* a}) → dynamic
+ method foo({core::bool? c = true, core::bool? a}) → dynamic
;
}
class A1 extends core::Object {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
;
- method foo({core::bool* a = true, core::bool* c}) → dynamic
+ method foo({core::bool? a = true, core::bool? c}) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B1 extends self::A1 {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
;
- method foo({core::bool* a = true, core::bool* c}) → dynamic
+ method foo({core::bool? a = true, core::bool? c}) → dynamic
;
}
class C1 extends self::B1 {
- synthetic constructor •() → self::C1*
+ synthetic constructor •() → self::C1
;
- method foo({core::bool* a = true, core::bool* c}) → dynamic
+ method foo({core::bool? a = true, core::bool? c}) → dynamic
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect
index 6e67b60..bca16bc 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect
@@ -1,62 +1,42 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo({core::bool* c = #C1, core::bool* a = #C2}) → dynamic {}
+ method foo({core::bool? c = #C1, core::bool? a = #C2}) → dynamic {}
}
class A1 extends core::Object {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super core::Object::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class B1 extends self::A1 {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
: super self::A1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
class C1 extends self::B1 {
- synthetic constructor •() → self::C1*
+ synthetic constructor •() → self::C1
: super self::B1::•()
;
- method foo({core::bool* a = #C1, core::bool* c = #C2}) → dynamic {}
+ method foo({core::bool? a = #C1, core::bool? c = #C2}) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart b/pkg/front_end/testcases/general/override_setter_with_field.dart
index 28626d7..1f52173 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart
@@ -2,14 +2,12 @@
// 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.
-// @dart=2.9
-
abstract class A {
- void set x(Object y);
+ void set x(Object? y);
}
class B implements A {
- int x;
+ int? x;
}
main() {
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
index cdfa723..bff631c 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
@@ -1,10 +1,9 @@
-// @dart = 2.9
abstract class A {
- void set x(Object y);
+ void set x(Object? y);
}
class B implements A {
- int x;
+ int? x;
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
index cdfa723..bff631c 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
@@ -1,10 +1,9 @@
-// @dart = 2.9
abstract class A {
- void set x(Object y);
+ void set x(Object? y);
}
class B implements A {
- int x;
+ int? x;
}
main() {}
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect
index 765d23f..2178ddb 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
+// pkg/front_end/testcases/general/override_setter_with_field.dart:10:8: Error: The field 'B.x' has type 'int?', which does not match the corresponding type, 'Object?', in the overridden setter, 'A.x'.
// - 'Object' is from 'dart:core'.
-// int x;
-// ^
-// pkg/front_end/testcases/general/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
-// void set x(Object y);
+// int? x;
+// ^
+// pkg/front_end/testcases/general/override_setter_with_field.dart:6:12: Context: This is the overridden method ('x').
+// void set x(Object? y);
// ^
//
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract set x(core::Object* y) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set x(core::Object? y) → void;
}
class B extends core::Object implements self::A {
- field core::int* x = null;
- synthetic constructor •() → self::B*
+ field core::int? x = null;
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::B::•().{self::B::x} = 5;
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.modular.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.modular.expect
index 765d23f..2178ddb 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.modular.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
+// pkg/front_end/testcases/general/override_setter_with_field.dart:10:8: Error: The field 'B.x' has type 'int?', which does not match the corresponding type, 'Object?', in the overridden setter, 'A.x'.
// - 'Object' is from 'dart:core'.
-// int x;
-// ^
-// pkg/front_end/testcases/general/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
-// void set x(Object y);
+// int? x;
+// ^
+// pkg/front_end/testcases/general/override_setter_with_field.dart:6:12: Context: This is the overridden method ('x').
+// void set x(Object? y);
// ^
//
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract set x(core::Object* y) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set x(core::Object? y) → void;
}
class B extends core::Object implements self::A {
- field core::int* x = null;
- synthetic constructor •() → self::B*
+ field core::int? x = null;
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::B::•().{self::B::x} = 5;
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect
index f7419b7..9a21541 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect
@@ -1,47 +1,27 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
+// pkg/front_end/testcases/general/override_setter_with_field.dart:10:8: Error: The field 'B.x' has type 'int?', which does not match the corresponding type, 'Object?', in the overridden setter, 'A.x'.
// - 'Object' is from 'dart:core'.
-// int x;
-// ^
-// pkg/front_end/testcases/general/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
-// void set x(Object y);
+// int? x;
+// ^
+// pkg/front_end/testcases/general/override_setter_with_field.dart:6:12: Context: This is the overridden method ('x').
+// void set x(Object? y);
// ^
//
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract set x(core::Object* y) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set x(core::Object? y) → void;
}
class B extends core::Object implements self::A {
- field core::int* x;
- synthetic constructor •() → self::B*
+ field core::int? x;
+ synthetic constructor •() → self::B
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart b/pkg/front_end/testcases/general/part_as_entry_point.dart
index e8acce1..0b9dc66 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart
@@ -1,5 +1,5 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
index 18055f6..07ab488 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
index 18055f6..07ab488 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect
index b77b0c2..23f6859 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.modular.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.modular.expect
index b77b0c2..23f6859 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect
index 1d93518..37da5bf 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
part part_as_entry_point.dart;
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect
index b77b0c2..23f6859 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
diff --git a/pkg/front_end/testcases/general/part_as_entry_point_lib.dart b/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
index 9c9cfeb..a2f5430 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
+++ b/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
part "part_as_entry_point.dart";
main() {
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart b/pkg/front_end/testcases/general/part_not_part_of.dart
index bea2751..a4d4873 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
import 'part_not_part_of_lib2.dart';
@override
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
index fbc4b33..d7c7da3 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_not_part_of_lib2.dart';
@override
part 'part_not_part_of_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
index fbc4b33..d7c7da3 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_not_part_of_lib2.dart';
@override
part 'part_not_part_of_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect
index f22e87e..9a38cd5 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_not_part_of_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "part_not_part_of_lib1.dart" as par;
@@ -25,7 +25,7 @@
par::methodFromLib1();
}
-library;
+library /*isNonNullableByDefault*/;
import self as par;
static method methodFromLib1() → dynamic {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.modular.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.modular.expect
index f22e87e..9a38cd5 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_not_part_of_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "part_not_part_of_lib1.dart" as par;
@@ -25,7 +25,7 @@
par::methodFromLib1();
}
-library;
+library /*isNonNullableByDefault*/;
import self as par;
static method methodFromLib1() → dynamic {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect
index 022180b..fceafb0 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,7 +14,7 @@
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "org-dartlang-testcase:///part_not_part_of_lib1.dart";
@@ -22,7 +22,7 @@
static method methodFromLib2() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as self3;
static method methodFromLib1() → dynamic
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect
index f22e87e..9a38cd5 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_not_part_of_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "part_not_part_of_lib1.dart" as par;
@@ -25,7 +25,7 @@
par::methodFromLib1();
}
-library;
+library /*isNonNullableByDefault*/;
import self as par;
static method methodFromLib1() → dynamic {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_lib1.dart b/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
index 8701d03..90bd84b 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
@@ -1,5 +1,5 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_lib2.dart b/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
index 46ab23d..1dfb49c 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
import "part_not_part_of_lib1.dart";
methodFromLib2() {
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
index e34f76d..e7efc6c 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
import 'part_not_part_of_same_named_library_lib2.dart';
@override
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
index fa5241c..bf4aa7d 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_not_part_of_same_named_library_lib2.dart';
@override
part 'part_not_part_of_same_named_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
index fa5241c..bf4aa7d 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_not_part_of_same_named_library_lib2.dart';
@override
part 'part_not_part_of_same_named_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect
index 2048308..15322a0 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,7 +16,7 @@
part part_not_part_of_same_named_library_lib1.dart;
static method main() → dynamic {}
-library foo;
+library foo /*isNonNullableByDefault*/;
import self as self2;
part part_not_part_of_same_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.modular.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.modular.expect
index 2048308..15322a0 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,7 +16,7 @@
part part_not_part_of_same_named_library_lib1.dart;
static method main() → dynamic {}
-library foo;
+library foo /*isNonNullableByDefault*/;
import self as self2;
part part_not_part_of_same_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect
index 65071a6..881d153 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
static method main() → dynamic
;
-library foo;
+library foo /*isNonNullableByDefault*/;
import self as self2;
part part_not_part_of_same_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect
index 2048308..15322a0 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,7 +16,7 @@
part part_not_part_of_same_named_library_lib1.dart;
static method main() → dynamic {}
-library foo;
+library foo /*isNonNullableByDefault*/;
import self as self2;
part part_not_part_of_same_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
index e2df909..1e32330 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
part of foo;
methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
index e7861ee..11ce0fa 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
library foo;
part "part_not_part_of_same_named_library_lib1.dart";
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
index c16dbf3..07ccc7a 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
import 'part_part_of_different_unnamed_library_lib2.dart';
@override
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
index a2beef6..a400a31 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_part_of_different_unnamed_library_lib2.dart';
@override
part 'part_part_of_different_unnamed_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
index a2beef6..a400a31 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'part_part_of_different_unnamed_library_lib2.dart';
@override
part 'part_part_of_different_unnamed_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect
index 693c671..ba85695 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_different_unnamed_library_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_different_unnamed_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.modular.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.modular.expect
index 693c671..ba85695 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_different_unnamed_library_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_different_unnamed_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect
index bcd74cd..3283da8 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,7 +14,7 @@
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_different_unnamed_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect
index 693c671..ba85695 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_different_unnamed_library_lib1.dart;
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_different_unnamed_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
index 7068275..d507d77 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
part of "part_part_of_different_unnamed_library_lib2.dart";
methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
index 3c777f7..e7e7b29 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
part "part_part_of_different_unnamed_library_lib1.dart";
methodFromLib2() {
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
index f1ecf5a..c084850 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
library foo;
import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
index e806f6d..2897172 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library foo;
import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
index e806f6d..2897172 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library foo;
import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect
index 0ec56bd..246fe04 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_differently_named_library_lib1.dart;
static method main() → dynamic {}
-library bar;
+library bar /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_differently_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.modular.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.modular.expect
index 0ec56bd..246fe04 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_differently_named_library_lib1.dart;
static method main() → dynamic {}
-library bar;
+library bar /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_differently_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect
index 4f277c37..6802243 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,7 +14,7 @@
static method main() → dynamic
;
-library bar;
+library bar /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_differently_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect
index 0ec56bd..246fe04 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library foo;
+library foo /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,7 +15,7 @@
part part_part_of_differently_named_library_lib1.dart;
static method main() → dynamic {}
-library bar;
+library bar /*isNonNullableByDefault*/;
import self as self2;
part part_part_of_differently_named_library_lib1.dart;
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
index 4d7357d..2b7c83b 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
part of bar;
methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
index a702ba3..cccf8e2 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
library bar;
part "part_part_of_differently_named_library_lib1.dart";
diff --git a/pkg/front_end/testcases/general/platform.dart b/pkg/front_end/testcases/general/platform.dart
index 2951246..0d4cc33 100644
--- a/pkg/front_end/testcases/general/platform.dart
+++ b/pkg/front_end/testcases/general/platform.dart
@@ -1,5 +1,5 @@
// Copyright (c) 2016, 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.
-// @dart=2.9
+
main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.textual_outline.expect b/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.weak.expect b/pkg/front_end/testcases/general/platform.dart.weak.expect
index bef6d48..500f9de 100644
--- a/pkg/front_end/testcases/general/platform.dart.weak.expect
+++ b/pkg/front_end/testcases/general/platform.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/platform.dart.weak.modular.expect b/pkg/front_end/testcases/general/platform.dart.weak.modular.expect
index bef6d48..500f9de 100644
--- a/pkg/front_end/testcases/general/platform.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/platform.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/platform.dart.weak.outline.expect b/pkg/front_end/testcases/general/platform.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/platform.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/platform.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/platform.dart.weak.transformed.expect b/pkg/front_end/testcases/general/platform.dart.weak.transformed.expect
index bef6d48..500f9de 100644
--- a/pkg/front_end/testcases/general/platform.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/platform.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart b/pkg/front_end/testcases/general/prefer_baseclass.dart
index 49eeb46..394322b 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {}
class B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
index 969d47c..27c1d98 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
index 4e0cebf..47e2b29 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class AB1 extends A implements B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect
index 8785424..1634b2d 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect
@@ -1,54 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class AB1 extends self::A implements self::B {
- synthetic constructor •() → self::AB1*
+ synthetic constructor •() → self::AB1
: super self::A::•()
;
}
class AB2 extends self::A implements self::B {
- synthetic constructor •() → self::AB2*
+ synthetic constructor •() → self::AB2
: super self::A::•()
;
}
class BA1 extends self::B implements self::A {
- synthetic constructor •() → self::BA1*
+ synthetic constructor •() → self::BA1
: super self::B::•()
;
}
class BA2 extends self::B implements self::A {
- synthetic constructor •() → self::BA2*
+ synthetic constructor •() → self::BA2
: super self::B::•()
;
}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.modular.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.modular.expect
index 8785424..1634b2d 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.modular.expect
@@ -1,54 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class AB1 extends self::A implements self::B {
- synthetic constructor •() → self::AB1*
+ synthetic constructor •() → self::AB1
: super self::A::•()
;
}
class AB2 extends self::A implements self::B {
- synthetic constructor •() → self::AB2*
+ synthetic constructor •() → self::AB2
: super self::A::•()
;
}
class BA1 extends self::B implements self::A {
- synthetic constructor •() → self::BA1*
+ synthetic constructor •() → self::BA1
: super self::B::•()
;
}
class BA2 extends self::B implements self::A {
- synthetic constructor •() → self::BA2*
+ synthetic constructor •() → self::BA2
: super self::B::•()
;
}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect
index 1d5764a..32f946c 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class AB1 extends self::A implements self::B {
- synthetic constructor •() → self::AB1*
+ synthetic constructor •() → self::AB1
;
}
class AB2 extends self::A implements self::B {
- synthetic constructor •() → self::AB2*
+ synthetic constructor •() → self::AB2
;
}
class BA1 extends self::B implements self::A {
- synthetic constructor •() → self::BA1*
+ synthetic constructor •() → self::BA1
;
}
class BA2 extends self::B implements self::A {
- synthetic constructor •() → self::BA2*
+ synthetic constructor •() → self::BA2
;
}
static method takeSubclassOfA(dynamic obj) → dynamic
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect
index 8785424..1634b2d 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect
@@ -1,54 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class AB1 extends self::A implements self::B {
- synthetic constructor •() → self::AB1*
+ synthetic constructor •() → self::AB1
: super self::A::•()
;
}
class AB2 extends self::A implements self::B {
- synthetic constructor •() → self::AB2*
+ synthetic constructor •() → self::AB2
: super self::A::•()
;
}
class BA1 extends self::B implements self::A {
- synthetic constructor •() → self::BA1*
+ synthetic constructor •() → self::BA1
: super self::B::•()
;
}
class BA2 extends self::B implements self::A {
- synthetic constructor •() → self::BA2*
+ synthetic constructor •() → self::BA2
: super self::B::•()
;
}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart b/pkg/front_end/testcases/general/private_method_tearoff.dart
index 4bf35bc..71b8217 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
import './private_method_tearoff_lib.dart';
// `Bar' contains a private method `_f'. The function `baz' is declared in the
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
index 359b608..929342c 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './private_method_tearoff_lib.dart';
class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
index 3ba34a1..2092d9c 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './private_method_tearoff_lib.dart';
class Baz extends Foo {}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect
index ca1fea0..74f9325 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "private_method_tearoff_lib.dart" as pri;
@@ -6,24 +6,14 @@
import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
class Foo extends core::Object implements pri::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
class Baz extends self::Foo {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super self::Foo::•()
;
}
@@ -31,28 +21,18 @@
pri::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pri;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pri::Bar*
+ synthetic constructor •() → pri::Bar
: super core::Object::•()
;
method _f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pri::Bar* bar) → void {
- core::print("${bar.{pri::Bar::_f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pri::Bar bar) → void {
+ core::print("${bar.{pri::Bar::_f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
constants {
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.modular.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.modular.expect
index ca1fea0..74f9325 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "private_method_tearoff_lib.dart" as pri;
@@ -6,24 +6,14 @@
import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
class Foo extends core::Object implements pri::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
class Baz extends self::Foo {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super self::Foo::•()
;
}
@@ -31,28 +21,18 @@
pri::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pri;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pri::Bar*
+ synthetic constructor •() → pri::Bar
: super core::Object::•()
;
method _f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pri::Bar* bar) → void {
- core::print("${bar.{pri::Bar::_f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pri::Bar bar) → void {
+ core::print("${bar.{pri::Bar::_f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
constants {
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect
index 384c64d..a8acd44 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "private_method_tearoff_lib.dart" as pri;
@@ -6,49 +6,29 @@
import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
class Foo extends core::Object implements pri::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_f, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_f, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
class Baz extends self::Foo {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
;
}
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as pri;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pri::Bar*
+ synthetic constructor •() → pri::Bar
;
method _f() → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pri::Bar* bar) → void
+static method baz(pri::Bar bar) → void
;
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect
index ca1fea0..74f9325 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "private_method_tearoff_lib.dart" as pri;
@@ -6,24 +6,14 @@
import "org-dartlang-testcase:///private_method_tearoff_lib.dart";
class Foo extends core::Object implements pri::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
class Baz extends self::Foo {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super self::Foo::•()
;
}
@@ -31,28 +21,18 @@
pri::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pri;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pri::Bar*
+ synthetic constructor •() → pri::Bar
: super core::Object::•()
;
method _f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pri::Bar* bar) → void {
- core::print("${bar.{pri::Bar::_f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pri::Bar bar) → void {
+ core::print("${bar.{pri::Bar::_f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
constants {
diff --git a/pkg/front_end/testcases/general/private_method_tearoff_lib.dart b/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
index a2a6594..0cbfb17 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
+++ b/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
// Companion library for private_method_tearoff.dart.
class Bar {
diff --git a/pkg/front_end/testcases/general/promoted_access.dart b/pkg/front_end/testcases/general/promoted_access.dart
index 841f79f..fc2e133 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart
+++ b/pkg/front_end/testcases/general/promoted_access.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, 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.
+
// @dart=2.9
+
class Class<T> {
method(T o) {
if (o is Class) {
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart b/pkg/front_end/testcases/general/promoted_null_aware_access.dart
index 3e023f0..b5eb8f3 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, 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.
+
// @dart=2.9
+
method<T>(T o) {
if (o is String) {
o?.length;
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart b/pkg/front_end/testcases/general/public_method_tearoff.dart
index 6130e86..1d304cc 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
import './public_method_tearoff_lib.dart';
// `Bar' contains a public method `f'. The function `baz' is declared in the
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
index 6aee2c2..e266da1 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './public_method_tearoff_lib.dart';
class Foo extends Bar {}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
index 6aee2c2..e266da1 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './public_method_tearoff_lib.dart';
class Foo extends Bar {}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect
index 6fc1a72..be0c9bc 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "public_method_tearoff_lib.dart" as pub;
import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
class Foo extends pub::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super pub::Bar::•()
;
}
@@ -13,26 +13,16 @@
pub::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pub;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pub::Bar*
+ synthetic constructor •() → pub::Bar
: super core::Object::•()
;
method f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pub::Bar* bar) → void {
- core::print("${bar.{pub::Bar::f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pub::Bar bar) → void {
+ core::print("${bar.{pub::Bar::f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.modular.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.modular.expect
index 6fc1a72..be0c9bc 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.modular.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "public_method_tearoff_lib.dart" as pub;
import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
class Foo extends pub::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super pub::Bar::•()
;
}
@@ -13,26 +13,16 @@
pub::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pub;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pub::Bar*
+ synthetic constructor •() → pub::Bar
: super core::Object::•()
;
method f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pub::Bar* bar) → void {
- core::print("${bar.{pub::Bar::f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pub::Bar bar) → void {
+ core::print("${bar.{pub::Bar::f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect
index db658c6..26864eb 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect
@@ -1,35 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "public_method_tearoff_lib.dart" as pub;
import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
class Foo extends pub::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
}
static method main() → void
;
-library;
+library /*isNonNullableByDefault*/;
import self as pub;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pub::Bar*
+ synthetic constructor •() → pub::Bar
;
method f() → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pub::Bar* bar) → void
+static method baz(pub::Bar bar) → void
;
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
index 6fc1a72..be0c9bc 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "public_method_tearoff_lib.dart" as pub;
import "org-dartlang-testcase:///public_method_tearoff_lib.dart";
class Foo extends pub::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super pub::Bar::•()
;
}
@@ -13,26 +13,16 @@
pub::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
import self as pub;
import "dart:core" as core;
class Bar extends core::Object {
- synthetic constructor •() → pub::Bar*
+ synthetic constructor •() → pub::Bar
: super core::Object::•()
;
method f() → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(pub::Bar* bar) → void {
- core::print("${bar.{pub::Bar::f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
+static method baz(pub::Bar bar) → void {
+ core::print("${bar.{pub::Bar::f}{() → void}.{core::Object::runtimeType}{core::Type}}");
}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff_lib.dart b/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
index 529518e..ceaf0ca 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
+++ b/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
// Companion library for public_method_tearoff.dart.
class Bar {
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart b/pkg/front_end/testcases/general/pure_index_expressions.dart
index 89c6ab9..975089a 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
// @dart=2.9
extension Extension on int {
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
index cf0da0c..a529cd5 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
extension Extension on int {
Class operator [](Class cls) => new Class();
void operator []=(Class cls, Class value) {}
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
index 312c040..f0fb925 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
class Class {
Class operator +(Class cls) => cls;
Class operator [](Class cls) => new Class();
diff --git a/pkg/front_end/testcases/general/qualified.dart b/pkg/front_end/testcases/general/qualified.dart
index d6e418b..d347bca 100644
--- a/pkg/front_end/testcases/general/qualified.dart
+++ b/pkg/front_end/testcases/general/qualified.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
library test.qualified.main;
import "qualified_lib.dart" as lib;
@@ -10,7 +10,7 @@
class Bad extends lib.Missing {
lib.Missing method() {}
- factory WrongName() {}
+ factory WrongName() => throw '';
}
class WithMixin extends lib.Supertype with lib.Mixin {}
diff --git a/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect b/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
index a0263ec..e2cbafa 100644
--- a/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library test.qualified.main;
import "qualified_lib.dart" as lib;
@@ -6,7 +5,7 @@
class Bad extends lib.Missing {
lib.Missing method() {}
- factory WrongName() {}
+ factory WrongName() => throw '';
}
class WithMixin extends lib.Supertype with lib.Mixin {}
diff --git a/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
index 5840afa..27a6e23 100644
--- a/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
@@ -1,11 +1,10 @@
-// @dart = 2.9
library test.qualified.main;
import "qualified_lib.dart" as lib;
part "qualified_part.dart";
class Bad extends lib.Missing {
- factory WrongName() {}
+ factory WrongName() => throw '';
lib.Missing method() {}
}
diff --git a/pkg/front_end/testcases/general/qualified.dart.weak.expect b/pkg/front_end/testcases/general/qualified.dart.weak.expect
index 59d3ddb..31a30f6 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.expect
@@ -1,9 +1,9 @@
-library test.qualified.main;
+library test.qualified.main /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-// factory WrongName() {}
+// factory WrongName() => throw '';
// ^^^^^^^^^
// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
// class Bad extends lib.Missing {
@@ -33,132 +33,83 @@
part qualified_part.dart;
class Bad extends core::Object {
method method() → invalid-type {}
- static factory WrongName() → self::Bad* {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory WrongName() → self::Bad
+ return throw "";
}
abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
+ synthetic constructor •() → self::_WithMixin&Supertype&Mixin
: super lib::Supertype::•()
;
mixin-super-stub method foo() → dynamic
return super.{lib::Mixin::foo}();
}
class WithMixin extends self::_WithMixin&Supertype&Mixin {
- synthetic constructor •() → self::WithMixin*
+ synthetic constructor •() → self::WithMixin
: super self::_WithMixin&Supertype&Mixin::•()
;
}
class IllegalSupertype extends core::Object {
- synthetic constructor •() → self::IllegalSupertype*
+ synthetic constructor •() → self::IllegalSupertype
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
- constructor a() → self::C<self::C::T*>*
+ constructor a() → self::C<self::C::T%>
: super core::Object::•()
;
- static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
- return lib::C::b<self::C::b::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory b<T extends core::Object? = dynamic>() → self::C<self::C::b::T%>
+ return lib::C::b<self::C::b::T%>();
}
static method main() → dynamic {
- new self::C::•<core::String*>();
- new self::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::•<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() →* dynamic};
- new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() →* dynamic};
+ new self::C::•<core::String>();
+ new self::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::•<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() → dynamic};
+ new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() → dynamic};
new self::IllegalSupertype::•();
}
-library test.qualified.lib;
+library test.qualified.lib /*isNonNullableByDefault*/;
import self as lib;
import "dart:core" as core;
import "qualified.dart" as self;
import "org-dartlang-testcase:///qualified.dart" as main;
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor •() → lib::C<lib::C::T*>*
+typedef VoidFunction = () → void;
+class C<T extends core::Object? = dynamic> extends self::C<lib::C::T%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor •() → lib::C<lib::C::T%>
: super self::C::•()
;
- constructor a() → lib::C<lib::C::T*>*
+ constructor a() → lib::C<lib::C::T%>
: super self::C::•()
;
- static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
- return new lib::C::a<lib::C::b::T*>();
+ static factory b<T extends core::Object? = dynamic>() → lib::C<lib::C::b::T%>
+ return new lib::C::a<lib::C::b::T%>();
}
class Supertype extends core::Object {
- synthetic constructor •() → lib::Supertype*
+ synthetic constructor •() → lib::Supertype
: super core::Object::•()
;
method supertypeMethod() → dynamic {
core::print("I'm supertypeMethod form lib.Supertype");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object {
- synthetic constructor •() → lib::Mixin*
+ synthetic constructor •() → lib::Mixin
: super core::Object::•()
;
method foo() → dynamic {
core::print("I'm Mixin.foo");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
constants {
diff --git a/pkg/front_end/testcases/general/qualified.dart.weak.modular.expect b/pkg/front_end/testcases/general/qualified.dart.weak.modular.expect
index 59d3ddb..31a30f6 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library test.qualified.main;
+library test.qualified.main /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-// factory WrongName() {}
+// factory WrongName() => throw '';
// ^^^^^^^^^
// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
// class Bad extends lib.Missing {
@@ -33,132 +33,83 @@
part qualified_part.dart;
class Bad extends core::Object {
method method() → invalid-type {}
- static factory WrongName() → self::Bad* {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory WrongName() → self::Bad
+ return throw "";
}
abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
+ synthetic constructor •() → self::_WithMixin&Supertype&Mixin
: super lib::Supertype::•()
;
mixin-super-stub method foo() → dynamic
return super.{lib::Mixin::foo}();
}
class WithMixin extends self::_WithMixin&Supertype&Mixin {
- synthetic constructor •() → self::WithMixin*
+ synthetic constructor •() → self::WithMixin
: super self::_WithMixin&Supertype&Mixin::•()
;
}
class IllegalSupertype extends core::Object {
- synthetic constructor •() → self::IllegalSupertype*
+ synthetic constructor •() → self::IllegalSupertype
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
- constructor a() → self::C<self::C::T*>*
+ constructor a() → self::C<self::C::T%>
: super core::Object::•()
;
- static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
- return lib::C::b<self::C::b::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory b<T extends core::Object? = dynamic>() → self::C<self::C::b::T%>
+ return lib::C::b<self::C::b::T%>();
}
static method main() → dynamic {
- new self::C::•<core::String*>();
- new self::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::•<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() →* dynamic};
- new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() →* dynamic};
+ new self::C::•<core::String>();
+ new self::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::•<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() → dynamic};
+ new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() → dynamic};
new self::IllegalSupertype::•();
}
-library test.qualified.lib;
+library test.qualified.lib /*isNonNullableByDefault*/;
import self as lib;
import "dart:core" as core;
import "qualified.dart" as self;
import "org-dartlang-testcase:///qualified.dart" as main;
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor •() → lib::C<lib::C::T*>*
+typedef VoidFunction = () → void;
+class C<T extends core::Object? = dynamic> extends self::C<lib::C::T%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor •() → lib::C<lib::C::T%>
: super self::C::•()
;
- constructor a() → lib::C<lib::C::T*>*
+ constructor a() → lib::C<lib::C::T%>
: super self::C::•()
;
- static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
- return new lib::C::a<lib::C::b::T*>();
+ static factory b<T extends core::Object? = dynamic>() → lib::C<lib::C::b::T%>
+ return new lib::C::a<lib::C::b::T%>();
}
class Supertype extends core::Object {
- synthetic constructor •() → lib::Supertype*
+ synthetic constructor •() → lib::Supertype
: super core::Object::•()
;
method supertypeMethod() → dynamic {
core::print("I'm supertypeMethod form lib.Supertype");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object {
- synthetic constructor •() → lib::Mixin*
+ synthetic constructor •() → lib::Mixin
: super core::Object::•()
;
method foo() → dynamic {
core::print("I'm Mixin.foo");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
constants {
diff --git a/pkg/front_end/testcases/general/qualified.dart.weak.outline.expect b/pkg/front_end/testcases/general/qualified.dart.weak.outline.expect
index 57448e6..a9d4036 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library test.qualified.main;
+library test.qualified.main /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-// factory WrongName() {}
+// factory WrongName() => throw '';
// ^^^^^^^^^
// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
// class Bad extends lib.Missing {
@@ -34,114 +34,64 @@
class Bad extends core::Object {
method method() → invalid-type
;
- static factory WrongName() → self::Bad*
+ static factory WrongName() → self::Bad
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
+ synthetic constructor •() → self::_WithMixin&Supertype&Mixin
: super lib::Supertype::•()
;
mixin-super-stub method foo() → dynamic
return super.{lib::Mixin::foo}();
}
class WithMixin extends self::_WithMixin&Supertype&Mixin {
- synthetic constructor •() → self::WithMixin*
+ synthetic constructor •() → self::WithMixin
;
}
class IllegalSupertype extends core::Object {
- synthetic constructor •() → self::IllegalSupertype*
+ synthetic constructor •() → self::IllegalSupertype
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
- static final field dynamic _redirecting# = <dynamic>[self::C::b];
- constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
+ static final field dynamic _redirecting# = <dynamic>[self::C::b]/*isLegacy*/;
+ constructor •() → self::C<self::C::T%>
;
- constructor a() → self::C<self::C::T*>*
+ constructor a() → self::C<self::C::T%>
;
- static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
- return lib::C::b<self::C::b::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory b<T extends core::Object? = dynamic>() → self::C<self::C::b::T%>
+ return lib::C::b<self::C::b::T%>();
}
static method main() → dynamic
;
-library test.qualified.lib;
+library test.qualified.lib /*isNonNullableByDefault*/;
import self as lib;
import "dart:core" as core;
import "qualified.dart" as self;
import "org-dartlang-testcase:///qualified.dart" as main;
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
- static final field dynamic _redirecting# = <dynamic>[lib::C::b];
- constructor •() → lib::C<lib::C::T*>*
+typedef VoidFunction = () → void;
+class C<T extends core::Object? = dynamic> extends self::C<lib::C::T%> {
+ static final field dynamic _redirecting# = <dynamic>[lib::C::b]/*isLegacy*/;
+ constructor •() → lib::C<lib::C::T%>
;
- constructor a() → lib::C<lib::C::T*>*
+ constructor a() → lib::C<lib::C::T%>
;
- static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
- return new lib::C::a<lib::C::b::T*>();
+ static factory b<T extends core::Object? = dynamic>() → lib::C<lib::C::b::T%>
+ return new lib::C::a<lib::C::b::T%>();
}
class Supertype extends core::Object {
- synthetic constructor •() → lib::Supertype*
+ synthetic constructor •() → lib::Supertype
;
method supertypeMethod() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object {
- synthetic constructor •() → lib::Mixin*
+ synthetic constructor •() → lib::Mixin
;
method foo() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect b/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
index 83dac20..04ffa8c 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
@@ -1,9 +1,9 @@
-library test.qualified.main;
+library test.qualified.main /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
-// factory WrongName() {}
+// factory WrongName() => throw '';
// ^^^^^^^^^
// pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'.
// class Bad extends lib.Missing {
@@ -33,20 +33,11 @@
part qualified_part.dart;
class Bad extends core::Object {
method method() → invalid-type {}
- static factory WrongName() → self::Bad* {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory WrongName() → self::Bad
+ return throw "";
}
abstract class _WithMixin&Supertype&Mixin extends lib::Supertype implements lib::Mixin /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
+ synthetic constructor •() → self::_WithMixin&Supertype&Mixin
: super lib::Supertype::•()
;
method /* from org-dartlang-testcase:///qualified_lib.dart */ foo() → dynamic {
@@ -54,112 +45,72 @@
}
}
class WithMixin extends self::_WithMixin&Supertype&Mixin {
- synthetic constructor •() → self::WithMixin*
+ synthetic constructor •() → self::WithMixin
: super self::_WithMixin&Supertype&Mixin::•()
;
}
class IllegalSupertype extends core::Object {
- synthetic constructor •() → self::IllegalSupertype*
+ synthetic constructor •() → self::IllegalSupertype
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
- constructor a() → self::C<self::C::T*>*
+ constructor a() → self::C<self::C::T%>
: super core::Object::•()
;
- static factory b<T extends core::Object* = dynamic>() → self::C<self::C::b::T*>*
- return lib::C::b<self::C::b::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory b<T extends core::Object? = dynamic>() → self::C<self::C::b::T%>
+ return lib::C::b<self::C::b::T%>();
}
static method main() → dynamic {
- new self::C::•<core::String*>();
- new self::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::•<core::String*>();
- new lib::C::a<core::String*>();
- new lib::C::a<core::String*>();
- new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() →* dynamic};
- new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() →* dynamic};
+ new self::C::•<core::String>();
+ new self::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::•<core::String>();
+ new lib::C::a<core::String>();
+ new lib::C::a<core::String>();
+ new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() → dynamic};
+ new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() → dynamic};
new self::IllegalSupertype::•();
}
-library test.qualified.lib;
+library test.qualified.lib /*isNonNullableByDefault*/;
import self as lib;
import "dart:core" as core;
import "qualified.dart" as self;
import "org-dartlang-testcase:///qualified.dart" as main;
-typedef VoidFunction = () →* void;
-class C<T extends core::Object* = dynamic> extends self::C<lib::C::T*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor •() → lib::C<lib::C::T*>*
+typedef VoidFunction = () → void;
+class C<T extends core::Object? = dynamic> extends self::C<lib::C::T%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor •() → lib::C<lib::C::T%>
: super self::C::•()
;
- constructor a() → lib::C<lib::C::T*>*
+ constructor a() → lib::C<lib::C::T%>
: super self::C::•()
;
- static factory b<T extends core::Object* = dynamic>() → lib::C<lib::C::b::T*>*
- return new lib::C::a<lib::C::b::T*>();
+ static factory b<T extends core::Object? = dynamic>() → lib::C<lib::C::b::T%>
+ return new lib::C::a<lib::C::b::T%>();
}
class Supertype extends core::Object {
- synthetic constructor •() → lib::Supertype*
+ synthetic constructor •() → lib::Supertype
: super core::Object::•()
;
method supertypeMethod() → dynamic {
core::print("I'm supertypeMethod form lib.Supertype");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object {
- synthetic constructor •() → lib::Mixin*
+ synthetic constructor •() → lib::Mixin
: super core::Object::•()
;
method foo() → dynamic {
core::print("I'm Mixin.foo");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
constants {
diff --git a/pkg/front_end/testcases/general/qualified_lib.dart b/pkg/front_end/testcases/general/qualified_lib.dart
index abeef31..ae00a71 100644
--- a/pkg/front_end/testcases/general/qualified_lib.dart
+++ b/pkg/front_end/testcases/general/qualified_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
library test.qualified.lib;
import "qualified.dart" as main;
diff --git a/pkg/front_end/testcases/general/qualified_part.dart b/pkg/front_end/testcases/general/qualified_part.dart
index 70ec895..370335a 100644
--- a/pkg/front_end/testcases/general/qualified_part.dart
+++ b/pkg/front_end/testcases/general/qualified_part.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
part of test.qualified.main;
class C<T> {
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart b/pkg/front_end/testcases/general/redirecting_constructor.dart
index d993dc3..72b53b6 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class A {
A();
factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
index 16cde0a..2e2eb1f 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
A();
factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
index 16cde0a..2e2eb1f 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
A();
factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect
index 293f8a2..5f462b3 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory fisk() → self::A*
+ static factory fisk() → self::A
return new self::B::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.modular.expect
index 293f8a2..5f462b3 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory fisk() → self::A*
+ static factory fisk() → self::A
return new self::B::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect
index 2ae8aaa..51530bf 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect
@@ -1,26 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::fisk];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[self::A::fisk]/*isLegacy*/;
+ constructor •() → self::A
;
- static factory fisk() → self::A*
+ static factory fisk() → self::A
return new self::B::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect
index 293f8a2..5f462b3 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory fisk() → self::A*
+ static factory fisk() → self::A
return new self::B::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart b/pkg/front_end/testcases/general/redirecting_factory.dart
index 6e8e39c..af4e16d 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
abstract class FooBase<Tf> {
int get x;
factory FooBase(int x) = Foo<Tf>;
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
index d84ae38..b6e0d0a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class FooBase<Tf> {
int get x;
factory FooBase(int x) = Foo<Tf>;
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
index 5fa0044..3f02151 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Foo<T> implements FooBase {
factory Foo(int x) = Bar<String, T>;
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
index ba2466c..27e2e84 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -11,60 +11,30 @@
import self as self;
import "dart:core" as core;
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- abstract get x() → core::int*;
- static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
+abstract class FooBase<Tf extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ abstract get x() → core::int;
+ static factory •<Tf extends core::Object? = dynamic>(core::int x) → self::FooBase<self::FooBase::•::Tf%>
return invalid-expression "pkg/front_end/testcases/general/redirecting_factory.dart:7:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
^";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
- return new self::Bar::•<core::String*, self::Foo::•::T*>(x);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+abstract class Foo<T extends core::Object? = dynamic> extends core::Object implements self::FooBase<dynamic> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>(core::int x) → self::Foo<self::Foo::•::T%>
+ return new self::Bar::•<core::String, self::Foo::•::T%>(x);
}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
- field core::int* x;
- constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
+class Bar<Sb extends core::Object? = dynamic, Tb extends core::Object? = dynamic> extends core::Object implements self::Foo<self::Bar::Tb%> {
+ field core::int x;
+ constructor •(core::int x) → self::Bar<self::Bar::Sb%, self::Bar::Tb%>
: self::Bar::x = x, super core::Object::•() {
- core::print("Bar<${self::Bar::Sb*},${self::Bar::Tb*}>");
+ core::print("Bar<${self::Bar::Sb%},${self::Bar::Tb%}>");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Builder<self::Builder::X*>*
+class Builder<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Builder<self::Builder::X%>
: super core::Object::•()
;
method method() → dynamic {
@@ -74,94 +44,34 @@
factory FooBase(int x) = Foo<Tf>;
^";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C3];
- static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
- return self::SimpleCaseImpl::•<self::SimpleCase::•::A*, self::SimpleCase::•::B*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCase<A extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C3]/*isLegacy*/;
+ static factory •<A extends core::Object? = dynamic, B extends core::Object? = dynamic>() → self::SimpleCase<self::SimpleCase::•::A%, self::SimpleCase::•::B%>
+ return self::SimpleCaseImpl::•<self::SimpleCase::•::A%, self::SimpleCase::•::B%>();
}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai*, self::SimpleCaseImpl::Bi*> {
- static final field dynamic _redirecting# = <dynamic>[#C4];
- static factory •<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
- return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCaseImpl<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai%, self::SimpleCaseImpl::Bi%> {
+ static final field dynamic _redirecting# = <dynamic>[#C4]/*isLegacy*/;
+ static factory •<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>
+ return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>();
}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
- synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
+class SimpleCaseImpl2<Ai2 extends core::Object? = dynamic, Bi2 extends core::Object? = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%> {
+ synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Base<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Base<self::Base::M*>*
+class Base<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Base<self::Base::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Mixin<self::Mixin::M*>*
+class Mixin<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Mixin<self::Mixin::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
- synthetic constructor •() → self::Mix<self::Mix::M*>*
+class Mix<M extends core::Object? = dynamic> = self::Base<self::Mix::M%> with self::Mixin<self::Mix::M%> {
+ synthetic constructor •() → self::Mix<self::Mix::M%>
: super self::Base::•()
;
}
@@ -170,9 +80,9 @@
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
- ^".{self::FooBase::x}{core::int*});
- new self::SimpleCaseImpl2::•<core::int*, core::double*>();
- new self::Mix::•<core::double*>();
+ ^".{self::FooBase::x}{core::int});
+ new self::SimpleCaseImpl2::•<core::int, core::double>();
+ new self::Mix::•<core::double>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.modular.expect
index ba2466c..27e2e84 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -11,60 +11,30 @@
import self as self;
import "dart:core" as core;
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- abstract get x() → core::int*;
- static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
+abstract class FooBase<Tf extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ abstract get x() → core::int;
+ static factory •<Tf extends core::Object? = dynamic>(core::int x) → self::FooBase<self::FooBase::•::Tf%>
return invalid-expression "pkg/front_end/testcases/general/redirecting_factory.dart:7:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
^";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
- return new self::Bar::•<core::String*, self::Foo::•::T*>(x);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+abstract class Foo<T extends core::Object? = dynamic> extends core::Object implements self::FooBase<dynamic> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>(core::int x) → self::Foo<self::Foo::•::T%>
+ return new self::Bar::•<core::String, self::Foo::•::T%>(x);
}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
- field core::int* x;
- constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
+class Bar<Sb extends core::Object? = dynamic, Tb extends core::Object? = dynamic> extends core::Object implements self::Foo<self::Bar::Tb%> {
+ field core::int x;
+ constructor •(core::int x) → self::Bar<self::Bar::Sb%, self::Bar::Tb%>
: self::Bar::x = x, super core::Object::•() {
- core::print("Bar<${self::Bar::Sb*},${self::Bar::Tb*}>");
+ core::print("Bar<${self::Bar::Sb%},${self::Bar::Tb%}>");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Builder<self::Builder::X*>*
+class Builder<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Builder<self::Builder::X%>
: super core::Object::•()
;
method method() → dynamic {
@@ -74,94 +44,34 @@
factory FooBase(int x) = Foo<Tf>;
^";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C3];
- static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
- return self::SimpleCaseImpl::•<self::SimpleCase::•::A*, self::SimpleCase::•::B*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCase<A extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C3]/*isLegacy*/;
+ static factory •<A extends core::Object? = dynamic, B extends core::Object? = dynamic>() → self::SimpleCase<self::SimpleCase::•::A%, self::SimpleCase::•::B%>
+ return self::SimpleCaseImpl::•<self::SimpleCase::•::A%, self::SimpleCase::•::B%>();
}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai*, self::SimpleCaseImpl::Bi*> {
- static final field dynamic _redirecting# = <dynamic>[#C4];
- static factory •<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
- return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCaseImpl<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai%, self::SimpleCaseImpl::Bi%> {
+ static final field dynamic _redirecting# = <dynamic>[#C4]/*isLegacy*/;
+ static factory •<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>
+ return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>();
}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
- synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
+class SimpleCaseImpl2<Ai2 extends core::Object? = dynamic, Bi2 extends core::Object? = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%> {
+ synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Base<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Base<self::Base::M*>*
+class Base<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Base<self::Base::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Mixin<self::Mixin::M*>*
+class Mixin<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Mixin<self::Mixin::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
- synthetic constructor •() → self::Mix<self::Mix::M*>*
+class Mix<M extends core::Object? = dynamic> = self::Base<self::Mix::M%> with self::Mixin<self::Mix::M%> {
+ synthetic constructor •() → self::Mix<self::Mix::M%>
: super self::Base::•()
;
}
@@ -170,9 +80,9 @@
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
- ^".{self::FooBase::x}{core::int*});
- new self::SimpleCaseImpl2::•<core::int*, core::double*>();
- new self::Mix::•<core::double*>();
+ ^".{self::FooBase::x}{core::int});
+ new self::SimpleCaseImpl2::•<core::int, core::double>();
+ new self::Mix::•<core::double>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect
index 6978627..cff6670 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -11,146 +11,56 @@
import self as self;
import "dart:core" as core;
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::FooBase::•];
- abstract get x() → core::int*;
- static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
+abstract class FooBase<Tf extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::FooBase::•]/*isLegacy*/;
+ abstract get x() → core::int;
+ static factory •<Tf extends core::Object? = dynamic>(core::int x) → self::FooBase<self::FooBase::•::Tf%>
return invalid-expression "pkg/front_end/testcases/general/redirecting_factory.dart:7:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
^";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
- static final field dynamic _redirecting# = <dynamic>[self::Foo::•];
- static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
- return new self::Bar::•<core::String*, self::Foo::•::T*>(x);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+abstract class Foo<T extends core::Object? = dynamic> extends core::Object implements self::FooBase<dynamic> {
+ static final field dynamic _redirecting# = <dynamic>[self::Foo::•]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>(core::int x) → self::Foo<self::Foo::•::T%>
+ return new self::Bar::•<core::String, self::Foo::•::T%>(x);
}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
- field core::int* x;
- constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
+class Bar<Sb extends core::Object? = dynamic, Tb extends core::Object? = dynamic> extends core::Object implements self::Foo<self::Bar::Tb%> {
+ field core::int x;
+ constructor •(core::int x) → self::Bar<self::Bar::Sb%, self::Bar::Tb%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Builder<self::Builder::X*>*
+class Builder<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Builder<self::Builder::X%>
;
method method() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
- static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
- return self::SimpleCaseImpl::•<self::SimpleCase::•::A*, self::SimpleCase::•::B*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCase<A extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::SimpleCase::•]/*isLegacy*/;
+ static factory •<A extends core::Object? = dynamic, B extends core::Object? = dynamic>() → self::SimpleCase<self::SimpleCase::•::A%, self::SimpleCase::•::B%>
+ return self::SimpleCaseImpl::•<self::SimpleCase::•::A%, self::SimpleCase::•::B%>();
}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai*, self::SimpleCaseImpl::Bi*> {
- static final field dynamic _redirecting# = <dynamic>[self::SimpleCaseImpl::•];
- static factory •<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
- return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCaseImpl<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai%, self::SimpleCaseImpl::Bi%> {
+ static final field dynamic _redirecting# = <dynamic>[self::SimpleCaseImpl::•]/*isLegacy*/;
+ static factory •<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>
+ return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>();
}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
- synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
+class SimpleCaseImpl2<Ai2 extends core::Object? = dynamic, Bi2 extends core::Object? = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%> {
+ synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Base<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Base<self::Base::M*>*
+class Base<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Base<self::Base::M%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Mixin<self::Mixin::M*>*
+class Mixin<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Mixin<self::Mixin::M%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
- synthetic constructor •() → self::Mix<self::Mix::M*>*
+class Mix<M extends core::Object? = dynamic> = self::Base<self::Mix::M%> with self::Mixin<self::Mix::M%> {
+ synthetic constructor •() → self::Mix<self::Mix::M%>
: super self::Base::•()
;
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect
index 025c11c..793a07e 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -11,60 +11,30 @@
import self as self;
import "dart:core" as core;
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- abstract get x() → core::int*;
- static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
+abstract class FooBase<Tf extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ abstract get x() → core::int;
+ static factory •<Tf extends core::Object? = dynamic>(core::int x) → self::FooBase<self::FooBase::•::Tf%>
return invalid-expression "pkg/front_end/testcases/general/redirecting_factory.dart:7:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
^";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
- return new self::Bar::•<core::String*, self::Foo::•::T*>(x);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+abstract class Foo<T extends core::Object? = dynamic> extends core::Object implements self::FooBase<dynamic> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>(core::int x) → self::Foo<self::Foo::•::T%>
+ return new self::Bar::•<core::String, self::Foo::•::T%>(x);
}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
- field core::int* x;
- constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
+class Bar<Sb extends core::Object? = dynamic, Tb extends core::Object? = dynamic> extends core::Object implements self::Foo<self::Bar::Tb%> {
+ field core::int x;
+ constructor •(core::int x) → self::Bar<self::Bar::Sb%, self::Bar::Tb%>
: self::Bar::x = x, super core::Object::•() {
- core::print("Bar<${self::Bar::Sb*},${self::Bar::Tb*}>");
+ core::print("Bar<${self::Bar::Sb%},${self::Bar::Tb%}>");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Builder<self::Builder::X*>*
+class Builder<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Builder<self::Builder::X%>
: super core::Object::•()
;
method method() → dynamic {
@@ -74,94 +44,34 @@
factory FooBase(int x) = Foo<Tf>;
^";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C3];
- static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
- return self::SimpleCaseImpl::•<self::SimpleCase::•::A*, self::SimpleCase::•::B*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCase<A extends core::Object? = dynamic, B extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C3]/*isLegacy*/;
+ static factory •<A extends core::Object? = dynamic, B extends core::Object? = dynamic>() → self::SimpleCase<self::SimpleCase::•::A%, self::SimpleCase::•::B%>
+ return self::SimpleCaseImpl::•<self::SimpleCase::•::A%, self::SimpleCase::•::B%>();
}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai*, self::SimpleCaseImpl::Bi*> {
- static final field dynamic _redirecting# = <dynamic>[#C4];
- static factory •<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
- return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class SimpleCaseImpl<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai%, self::SimpleCaseImpl::Bi%> {
+ static final field dynamic _redirecting# = <dynamic>[#C4]/*isLegacy*/;
+ static factory •<Ai extends core::Object? = dynamic, Bi extends core::Object? = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>
+ return new self::SimpleCaseImpl2::•<self::SimpleCaseImpl::•::Ai%, self::SimpleCaseImpl::•::Bi%>();
}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
- synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
+class SimpleCaseImpl2<Ai2 extends core::Object? = dynamic, Bi2 extends core::Object? = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%> {
+ synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2%, self::SimpleCaseImpl2::Bi2%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Base<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Base<self::Base::M*>*
+class Base<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Base<self::Base::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::Mixin<self::Mixin::M*>*
+class Mixin<M extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Mixin<self::Mixin::M%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class Mix<M extends core::Object* = dynamic> extends self::Base<self::Mix::M*> implements self::Mixin<self::Mix::M*> /*isEliminatedMixin*/ {
- synthetic constructor •() → self::Mix<self::Mix::M*>*
+class Mix<M extends core::Object? = dynamic> extends self::Base<self::Mix::M%> implements self::Mixin<self::Mix::M%> /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::Mix<self::Mix::M%>
: super self::Base::•()
;
}
@@ -170,9 +80,9 @@
- 'Foo' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
- 'FooBase' is from 'pkg/front_end/testcases/general/redirecting_factory.dart'.
factory FooBase(int x) = Foo<Tf>;
- ^".{self::FooBase::x}{core::int*});
- new self::SimpleCaseImpl2::•<core::int*, core::double*>();
- new self::Mix::•<core::double*>();
+ ^".{self::FooBase::x}{core::int});
+ new self::SimpleCaseImpl2::•<core::int, core::double>();
+ new self::Mix::•<core::double>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
index 9ffa473..ad9409e 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
// The purpose of this test is to check the representation of redirecting
// factory constructors in a case of a redirecting chain.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
index f0d752d..f7ca084 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.chain_test;
class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
index f0d752d..f7ca084 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.chain_test;
class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect
index e86259e..d6b5891 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect
@@ -1,26 +1,16 @@
-library redirecting_factory_constructors.chain_test;
+library redirecting_factory_constructors.chain_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1, #C2];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1, #C2]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory first() → self::A*
+ static factory first() → self::A
return new self::A::•();
- static factory second() → self::A*
+ static factory second() → self::A
return self::A::first();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.modular.expect
index e86259e..d6b5891 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.modular.expect
@@ -1,26 +1,16 @@
-library redirecting_factory_constructors.chain_test;
+library redirecting_factory_constructors.chain_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1, #C2];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1, #C2]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory first() → self::A*
+ static factory first() → self::A
return new self::A::•();
- static factory second() → self::A*
+ static factory second() → self::A
return self::A::first();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect
index 8eeb6bc..ae46768 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect
@@ -1,25 +1,15 @@
-library redirecting_factory_constructors.chain_test;
+library redirecting_factory_constructors.chain_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second]/*isLegacy*/;
+ constructor •() → self::A
;
- static factory first() → self::A*
+ static factory first() → self::A
return new self::A::•();
- static factory second() → self::A*
+ static factory second() → self::A
return self::A::first();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect
index e86259e..d6b5891 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect
@@ -1,26 +1,16 @@
-library redirecting_factory_constructors.chain_test;
+library redirecting_factory_constructors.chain_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1, #C2];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1, #C2]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory first() → self::A*
+ static factory first() → self::A
return new self::A::•();
- static factory second() → self::A*
+ static factory second() → self::A
return self::A::first();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
index 5564e78..8d904fd 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
// This test checks that the type inference implementation correctly uses least
// closure of the inferred type arguments in invocations of 'const' redirecting
// factory constructors in case there are type variables in them.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
index 61acaeb..1eae718 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class _X<T> {
const factory _X() = _Y<T>;
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
index 7ad545b..71b737f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<T> {
A(this.x);
_X<T> x;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect
index 3dc0b99..580833f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect
@@ -1,68 +1,38 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class _X<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
- return new self::_Y::•<self::_X::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class _X<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::_X<self::_X::•::T%>
+ return new self::_Y::•<self::_X::•::T%>();
}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/ {
- const constructor •() → self::_Y<self::_Y::T*>*
+class _Y<T extends core::Object? = dynamic> extends core::Object implements self::_X<self::_Y::T%> /*hasConstConstructor*/ {
+ const constructor •() → self::_Y<self::_Y::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class A<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::_X<self::A::T*>* x;
- constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::_X<self::A::T%> x;
+ constructor •(self::_X<self::A::T%> x) → self::A<self::A::T%>
: self::A::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super self::A::•(#C2)
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>*};
- if(!(x is self::_Y<Null>*)) {
- throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
+ dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>};
+ if(!(x is{ForNonNullableByDefault} self::_Y<Null>)) {
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type}}, but `_Y<Null>` expected";
}
}
constants {
#C1 = constructor-tearoff self::_X::•
- #C2 = self::_Y<Null> {}
+ #C2 = self::_Y<Never*> {}
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.modular.expect
index 3dc0b99..580833f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.modular.expect
@@ -1,68 +1,38 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class _X<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
- return new self::_Y::•<self::_X::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class _X<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::_X<self::_X::•::T%>
+ return new self::_Y::•<self::_X::•::T%>();
}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/ {
- const constructor •() → self::_Y<self::_Y::T*>*
+class _Y<T extends core::Object? = dynamic> extends core::Object implements self::_X<self::_Y::T%> /*hasConstConstructor*/ {
+ const constructor •() → self::_Y<self::_Y::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class A<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::_X<self::A::T*>* x;
- constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::_X<self::A::T%> x;
+ constructor •(self::_X<self::A::T%> x) → self::A<self::A::T%>
: self::A::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super self::A::•(#C2)
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>*};
- if(!(x is self::_Y<Null>*)) {
- throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
+ dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>};
+ if(!(x is{ForNonNullableByDefault} self::_Y<Null>)) {
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type}}, but `_Y<Null>` expected";
}
}
constants {
#C1 = constructor-tearoff self::_X::•
- #C2 = self::_Y<Null> {}
+ #C2 = self::_Y<Never*> {}
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect
index 23c7bac..a3aa00a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect
@@ -1,54 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class _X<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::_X::•];
- static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
- return new self::_Y::•<self::_X::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class _X<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::_X::•]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::_X<self::_X::•::T%>
+ return new self::_Y::•<self::_X::•::T%>();
}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/ {
- const constructor •() → self::_Y<self::_Y::T*>*
+class _Y<T extends core::Object? = dynamic> extends core::Object implements self::_X<self::_Y::T%> /*hasConstConstructor*/ {
+ const constructor •() → self::_Y<self::_Y::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class A<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::_X<self::A::T*>* x;
- constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::_X<self::A::T%> x;
+ constructor •(self::_X<self::A::T%> x) → self::A<self::A::T%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect
index 3dc0b99..580833f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect
@@ -1,68 +1,38 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class _X<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::_X<self::_X::•::T*>*
- return new self::_Y::•<self::_X::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class _X<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::_X<self::_X::•::T%>
+ return new self::_Y::•<self::_X::•::T%>();
}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/ {
- const constructor •() → self::_Y<self::_Y::T*>*
+class _Y<T extends core::Object? = dynamic> extends core::Object implements self::_X<self::_Y::T%> /*hasConstConstructor*/ {
+ const constructor •() → self::_Y<self::_Y::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class A<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::_X<self::A::T*>* x;
- constructor •(self::_X<self::A::T*>* x) → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::_X<self::A::T%> x;
+ constructor •(self::_X<self::A::T%> x) → self::A<self::A::T%>
: self::A::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super self::A::•(#C2)
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>*};
- if(!(x is self::_Y<Null>*)) {
- throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
+ dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_X<dynamic>};
+ if(!(x is{ForNonNullableByDefault} self::_Y<Null>)) {
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type}}, but `_Y<Null>` expected";
}
}
constants {
#C1 = constructor-tearoff self::_X::•
- #C2 = self::_Y<Null> {}
+ #C2 = self::_Y<Never*> {}
}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
index d25c571..1107f18 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
// This test checks that annotations on redirecting factories and their formals
// aren't skipped by the compiler and are observable in its output.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
index a9cc41f..d486790 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const forParameter = 1;
const forFactoryItself = 2;
const anotherForParameter = 3;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
index 83e49dd..72b47ec 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {
Foo.named(p);
@forFactoryItself
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect
index 9b12539..b05ebf3 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor named(dynamic p) → self::Foo*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor named(dynamic p) → self::Foo
: super core::Object::•()
;
@#C2
- static factory •(@#C3 @#C4 dynamic p) → self::Foo*
+ static factory •(@#C3 @#C4 dynamic p) → self::Foo
return new self::Foo::named(p);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* forParameter = #C3;
-static const field core::int* forFactoryItself = #C2;
-static const field core::int* anotherForParameter = #C4;
+static const field core::int forParameter = #C3;
+static const field core::int forFactoryItself = #C2;
+static const field core::int anotherForParameter = #C4;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.modular.expect
index 9b12539..b05ebf3 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.modular.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor named(dynamic p) → self::Foo*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor named(dynamic p) → self::Foo
: super core::Object::•()
;
@#C2
- static factory •(@#C3 @#C4 dynamic p) → self::Foo*
+ static factory •(@#C3 @#C4 dynamic p) → self::Foo
return new self::Foo::named(p);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* forParameter = #C3;
-static const field core::int* forFactoryItself = #C2;
-static const field core::int* anotherForParameter = #C4;
+static const field core::int forParameter = #C3;
+static const field core::int forFactoryItself = #C2;
+static const field core::int anotherForParameter = #C4;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect
index 69d94af..06537eb 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect
@@ -1,33 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::Foo::•];
- constructor named(dynamic p) → self::Foo*
+ static final field dynamic _redirecting# = <dynamic>[self::Foo::•]/*isLegacy*/;
+ constructor named(dynamic p) → self::Foo
;
@self::forFactoryItself
- static factory •(dynamic p) → self::Foo*
+ static factory •(dynamic p) → self::Foo
return new self::Foo::named(p);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* forParameter = 1;
-static const field core::int* forFactoryItself = 2;
-static const field core::int* anotherForParameter = 3;
+static const field core::int forParameter = 1;
+static const field core::int forFactoryItself = 2;
+static const field core::int anotherForParameter = 3;
static method main() → dynamic
;
Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///redirecting_factory_metadata.dart:15:4 -> IntConstant(2)
-Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirecting_factory_metadata.dart:14:7 -> ConstructorTearOffConstant(Foo.)
+Evaluated: StaticGet @ org-dartlang-testcase:///redirecting_factory_metadata.dart:13:4 -> IntConstant(2)
+Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirecting_factory_metadata.dart:12:7 -> ConstructorTearOffConstant(Foo.)
Extra constant evaluation: evaluated: 5, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect
index 9b12539..b05ebf3 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor named(dynamic p) → self::Foo*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor named(dynamic p) → self::Foo
: super core::Object::•()
;
@#C2
- static factory •(@#C3 @#C4 dynamic p) → self::Foo*
+ static factory •(@#C3 @#C4 dynamic p) → self::Foo
return new self::Foo::named(p);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* forParameter = #C3;
-static const field core::int* forFactoryItself = #C2;
-static const field core::int* anotherForParameter = #C4;
+static const field core::int forParameter = #C3;
+static const field core::int forFactoryItself = #C2;
+static const field core::int anotherForParameter = #C4;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
index e1b8569..0598023 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
// The purpose of this test is to check the representation of redirecting
// factory constructors on a simple case.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
index a1e883f4..bbefe2c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.simple_test;
class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
index a1e883f4..bbefe2c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.simple_test;
class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect
index f2a4360..d9ae044 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect
@@ -1,24 +1,14 @@
-library redirecting_factory_constructors.simple_test;
+library redirecting_factory_constructors.simple_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
+ static factory redir() → self::A
return new self::A::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.modular.expect
index f2a4360..d9ae044 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.modular.expect
@@ -1,24 +1,14 @@
-library redirecting_factory_constructors.simple_test;
+library redirecting_factory_constructors.simple_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
+ static factory redir() → self::A
return new self::A::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect
index 20fd71c..aa6c274 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library redirecting_factory_constructors.simple_test;
+library redirecting_factory_constructors.simple_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::redir];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[self::A::redir]/*isLegacy*/;
+ constructor •() → self::A
;
- static factory redir() → self::A*
+ static factory redir() → self::A
return new self::A::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect
index f2a4360..d9ae044 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect
@@ -1,24 +1,14 @@
-library redirecting_factory_constructors.simple_test;
+library redirecting_factory_constructors.simple_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
+ static factory redir() → self::A
return new self::A::•();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
index 7df8a6e..611df4c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
// The purpose of this test is to check the representation of redirecting
// factory constructors in the case when the redirection target has type
// arguments supplied by the redirecting factory constructor.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
index dfaace1..50ddae4 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeargs_test;
class X {}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
index b1ac84e..d52aa92 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeargs_test;
class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect
index 16c46e9..dd93c57 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect
@@ -1,52 +1,32 @@
-library redirecting_factory_constructors.typeargs_test;
+library redirecting_factory_constructors.typeargs_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
- return new self::B::•<self::Y*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir() → self::A
+ return new self::B::•<self::Y>();
}
-class B<T extends self::X*> extends self::A {
- constructor •() → self::B<self::B::T*>*
+class B<T extends self::X> extends self::A {
+ constructor •() → self::B<self::B::T>
: super self::A::•()
;
}
static method main() → dynamic {
- new self::B::•<self::Y*>();
+ new self::B::•<self::Y>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.modular.expect
index 16c46e9..dd93c57 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.modular.expect
@@ -1,52 +1,32 @@
-library redirecting_factory_constructors.typeargs_test;
+library redirecting_factory_constructors.typeargs_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
- return new self::B::•<self::Y*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir() → self::A
+ return new self::B::•<self::Y>();
}
-class B<T extends self::X*> extends self::A {
- constructor •() → self::B<self::B::T*>*
+class B<T extends self::X> extends self::A {
+ constructor •() → self::B<self::B::T>
: super self::A::•()
;
}
static method main() → dynamic {
- new self::B::•<self::Y*>();
+ new self::B::•<self::Y>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect
index 024a135..c7abba0 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect
@@ -1,44 +1,24 @@
-library redirecting_factory_constructors.typeargs_test;
+library redirecting_factory_constructors.typeargs_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
;
}
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::redir];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[self::A::redir]/*isLegacy*/;
+ constructor •() → self::A
;
- static factory redir() → self::A*
- return new self::B::•<self::Y*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir() → self::A
+ return new self::B::•<self::Y>();
}
-class B<T extends self::X*> extends self::A {
- constructor •() → self::B<self::B::T*>*
+class B<T extends self::X> extends self::A {
+ constructor •() → self::B<self::B::T>
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect
index 16c46e9..dd93c57 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect
@@ -1,52 +1,32 @@
-library redirecting_factory_constructors.typeargs_test;
+library redirecting_factory_constructors.typeargs_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
class A extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •() → self::A
: super core::Object::•()
;
- static factory redir() → self::A*
- return new self::B::•<self::Y*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir() → self::A
+ return new self::B::•<self::Y>();
}
-class B<T extends self::X*> extends self::A {
- constructor •() → self::B<self::B::T*>*
+class B<T extends self::X> extends self::A {
+ constructor •() → self::B<self::B::T>
: super self::A::•()
;
}
static method main() → dynamic {
- new self::B::•<self::Y*>();
+ new self::B::•<self::Y>();
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
index 3094ddc..967771f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
// The purpose of this test is to check the representation of redirecting
// factory constructors in the case when type parameters of the enclosing class
// are used in type annotations of the parameters of the redirecting factory
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
index 44e29ab..e04255c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeparam_test;
class A<T, S> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
index 44e29ab..e04255c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeparam_test;
class A<T, S> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect
index 469f2af..40bf17a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect
@@ -1,27 +1,17 @@
-library redirecting_factory_constructors.typeparam_test;
+library redirecting_factory_constructors.typeparam_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<core::int*, core::String*>(42, "foobar");
+ new self::A::•<core::int, core::String>(42, "foobar");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.modular.expect
index 469f2af..40bf17a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library redirecting_factory_constructors.typeparam_test;
+library redirecting_factory_constructors.typeparam_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<core::int*, core::String*>(42, "foobar");
+ new self::A::•<core::int, core::String>(42, "foobar");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect
index 795e0a9..6b35ffc 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library redirecting_factory_constructors.typeparam_test;
+library redirecting_factory_constructors.typeparam_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::redir];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::A::redir]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
;
- static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect
index 469f2af..40bf17a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library redirecting_factory_constructors.typeparam_test;
+library redirecting_factory_constructors.typeparam_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<core::int*, core::String*>(42, "foobar");
+ new self::A::•<core::int, core::String>(42, "foobar");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
index 3de706f..102c03a 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
// The purpose of this test is to check the representation of redirecting
// factory constructors in the case when type parameters of the enclosing class
// are used in type annotations of the parameters of the redirecting factory
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
index c1ebcd6..e6ad16e 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeparambounds_test;
class X {}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
index ec53c69..036a788 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
library redirecting_factory_constructors.typeparambounds_test;
class A<T, S extends T> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect
index 98d4e12..62b93ec 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect
@@ -1,47 +1,27 @@
-library redirecting_factory_constructors.typeparambounds_test;
+library redirecting_factory_constructors.typeparambounds_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends self::A::T% = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends self::A::redir::T% = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<self::X*, self::Y*>(new self::X::•(), new self::Y::•());
+ new self::A::•<self::X, self::Y>(new self::X::•(), new self::Y::•());
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.modular.expect
index 98d4e12..62b93ec 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.modular.expect
@@ -1,47 +1,27 @@
-library redirecting_factory_constructors.typeparambounds_test;
+library redirecting_factory_constructors.typeparambounds_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends self::A::T% = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends self::A::redir::T% = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<self::X*, self::Y*>(new self::X::•(), new self::Y::•());
+ new self::A::•<self::X, self::Y>(new self::X::•(), new self::Y::•());
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
index ef67ff4..99a077c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
@@ -1,41 +1,21 @@
-library redirecting_factory_constructors.typeparambounds_test;
+library redirecting_factory_constructors.typeparambounds_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
;
}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::redir];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends self::A::T% = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::A::redir]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
;
- static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends self::A::redir::T% = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect
index 98d4e12..62b93ec 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect
@@ -1,47 +1,27 @@
-library redirecting_factory_constructors.typeparambounds_test;
+library redirecting_factory_constructors.typeparambounds_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super self::X::•()
;
}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
+class A<T extends core::Object? = dynamic, S extends self::A::T% = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
: super core::Object::•()
;
- static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
- return new self::A::•<self::A::redir::T*, self::A::redir::S*>(t, s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory redir<T extends core::Object? = dynamic, S extends self::A::redir::T% = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
+ return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic {
- new self::A::•<self::X*, self::Y*>(new self::X::•(), new self::Y::•());
+ new self::A::•<self::X, self::Y>(new self::X::•(), new self::Y::•());
}
constants {
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart
new file mode 100644
index 0000000..1227d68
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2018, 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.
+
+// The test checks that types of arguments of redirecting initializers are
+// checked against the corresponding formal parameter types of the redirection
+// targets, and the downcasts are inserted where appropriate.
+
+class X {}
+
+class Foo<T extends X> {
+ T x;
+ Foo.fromX(X _init) : this._internal(x: _init);
+ Foo.fromT(T _init) : this._internal(x: _init);
+ Foo._internal({required this.x});
+}
+
+void main() {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline.expect
new file mode 100644
index 0000000..384bb91
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline.expect
@@ -0,0 +1,10 @@
+class X {}
+
+class Foo<T extends X> {
+ T x;
+ Foo.fromX(X _init) : this._internal(x: _init);
+ Foo.fromT(T _init) : this._internal(x: _init);
+ Foo._internal({required this.x});
+}
+
+void main() {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..593848b
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.textual_outline_modelled.expect
@@ -0,0 +1,10 @@
+class Foo<T extends X> {
+ Foo._internal({required this.x});
+ Foo.fromT(T _init) : this._internal(x: _init);
+ Foo.fromX(X _init) : this._internal(x: _init);
+ T x;
+}
+
+class X {}
+
+void main() {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.expect
new file mode 100644
index 0000000..43afede
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+// - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+// Foo.fromX(X _init) : this._internal(x: _init);
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class X extends core::Object {
+ synthetic constructor •() → self::X
+ : super core::Object::•()
+ ;
+}
+class Foo<T extends self::X> extends core::Object {
+ covariant-by-class field self::Foo::T x;
+ constructor fromX(self::X _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+ - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+ Foo.fromX(X _init) : this._internal(x: _init);
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
+ ;
+ constructor fromT(self::Foo::T _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: _init)
+ ;
+ constructor _internal({required self::Foo::T x = #C1}) → self::Foo<self::Foo::T>
+ : self::Foo::x = x, super core::Object::•()
+ ;
+}
+static method main() → void {}
+
+constants {
+ #C1 = null
+}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.modular.expect
new file mode 100644
index 0000000..43afede
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.modular.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+// - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+// Foo.fromX(X _init) : this._internal(x: _init);
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class X extends core::Object {
+ synthetic constructor •() → self::X
+ : super core::Object::•()
+ ;
+}
+class Foo<T extends self::X> extends core::Object {
+ covariant-by-class field self::Foo::T x;
+ constructor fromX(self::X _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+ - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+ Foo.fromX(X _init) : this._internal(x: _init);
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
+ ;
+ constructor fromT(self::Foo::T _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: _init)
+ ;
+ constructor _internal({required self::Foo::T x = #C1}) → self::Foo<self::Foo::T>
+ : self::Foo::x = x, super core::Object::•()
+ ;
+}
+static method main() → void {}
+
+constants {
+ #C1 = null
+}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.outline.expect
new file mode 100644
index 0000000..8972be7
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.outline.expect
@@ -0,0 +1,19 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class X extends core::Object {
+ synthetic constructor •() → self::X
+ ;
+}
+class Foo<T extends self::X> extends core::Object {
+ covariant-by-class field self::Foo::T x;
+ constructor fromX(self::X _init) → self::Foo<self::Foo::T>
+ ;
+ constructor fromT(self::Foo::T _init) → self::Foo<self::Foo::T>
+ ;
+ constructor _internal({required self::Foo::T x}) → self::Foo<self::Foo::T>
+ ;
+}
+static method main() → void
+ ;
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.transformed.expect
new file mode 100644
index 0000000..43afede
--- /dev/null
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart.weak.transformed.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+// - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+// Foo.fromX(X _init) : this._internal(x: _init);
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class X extends core::Object {
+ synthetic constructor •() → self::X
+ : super core::Object::•()
+ ;
+}
+class Foo<T extends self::X> extends core::Object {
+ covariant-by-class field self::Foo::T x;
+ constructor fromX(self::X _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart:13:42: Error: The argument type 'X' can't be assigned to the parameter type 'T'.
+ - 'X' is from 'pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable2.dart'.
+ Foo.fromX(X _init) : this._internal(x: _init);
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
+ ;
+ constructor fromT(self::Foo::T _init) → self::Foo<self::Foo::T>
+ : this self::Foo::_internal(x: _init)
+ ;
+ constructor _internal({required self::Foo::T x = #C1}) → self::Foo<self::Foo::T>
+ : self::Foo::x = x, super core::Object::•()
+ ;
+}
+static method main() → void {}
+
+constants {
+ #C1 = null
+}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
index b4aeab5..9218e07 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2018, 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.
+
// @dart=2.9
+
// The test checks that types of arguments of redirecting initializers are
// checked against the corresponding formal parameter types of the redirection
// targets, and the downcasts are inserted where appropriate.
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
index d5147d5..0c64722 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
// The test checks that types of arguments of redirecting initializers are
// checked against the corresponding formal parameter types of the redirection
// targets, and the compile-time error is emitted in the case they are not
@@ -10,7 +10,7 @@
class Foo<T> {
T x;
Foo.from(String _init) : this._internal(x: _init);
- Foo._internal({this.x});
+ Foo._internal({required this.x});
}
void main() {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
index d5f3567..f0b2948 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
@@ -1,8 +1,7 @@
-// @dart = 2.9
class Foo<T> {
T x;
Foo.from(String _init) : this._internal(x: _init);
- Foo._internal({this.x});
+ Foo._internal({required this.x});
}
void main() {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
index 423187d..e7ad045 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
@@ -1,6 +1,5 @@
-// @dart = 2.9
class Foo<T> {
- Foo._internal({this.x});
+ Foo._internal({required this.x});
Foo.from(String _init) : this._internal(x: _init);
T x;
}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect
index 6c401a6..34b5cf4 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,26 +9,16 @@
import self as self;
import "dart:core" as core;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::Foo::T* x;
- constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::Foo::T% x;
+ constructor from(core::String _init) → self::Foo<self::Foo::T%>
: this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart:12:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
Foo.from(String _init) : this._internal(x: _init);
- ^" in _init as{TypeError} Never)
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
;
- constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
+ constructor _internal({required self::Foo::T% x = #C1}) → self::Foo<self::Foo::T%>
: self::Foo::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.modular.expect
index 6c401a6..34b5cf4 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,26 +9,16 @@
import self as self;
import "dart:core" as core;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::Foo::T* x;
- constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::Foo::T% x;
+ constructor from(core::String _init) → self::Foo<self::Foo::T%>
: this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart:12:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
Foo.from(String _init) : this._internal(x: _init);
- ^" in _init as{TypeError} Never)
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
;
- constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
+ constructor _internal({required self::Foo::T% x = #C1}) → self::Foo<self::Foo::T%>
: self::Foo::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect
index 1126f00..5e288fa 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::Foo::T* x;
- constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::Foo::T% x;
+ constructor from(core::String _init) → self::Foo<self::Foo::T%>
;
- constructor _internal({self::Foo::T* x}) → self::Foo<self::Foo::T*>*
+ constructor _internal({required self::Foo::T% x}) → self::Foo<self::Foo::T%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect
index 6c401a6..34b5cf4 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,26 +9,16 @@
import self as self;
import "dart:core" as core;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::Foo::T* x;
- constructor from(core::String* _init) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::Foo::T% x;
+ constructor from(core::String _init) → self::Foo<self::Foo::T%>
: this self::Foo::_internal(x: invalid-expression "pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart:12:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
Foo.from(String _init) : this._internal(x: _init);
- ^" in _init as{TypeError} Never)
+ ^" in _init as{TypeError,ForNonNullableByDefault} Never)
;
- constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
+ constructor _internal({required self::Foo::T% x = #C1}) → self::Foo<self::Foo::T%>
: self::Foo::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
index 7d7ffec..57d54c1 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE.md file.
-// @dart=2.9
-
// The test checks that type arguments of the target of redirection factory
// constructors are preserved throughout the chain of redirections.
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
index 35675e5..772fcd2 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
index b3c31ee..6f267ca 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect
index 273bd861..8414860 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::num*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::num>();
}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::String*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::String>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::num*, core::String*>()}", "int,num,String");
+ exp::Expect::equals("${new self::C::•<core::int, core::num, core::String>()}", "int,num,String");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.modular.expect
index 273bd861..8414860 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.modular.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::num*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::num>();
}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::String*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::String>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::num*, core::String*>()}", "int,num,String");
+ exp::Expect::equals("${new self::C::•<core::int, core::num, core::String>()}", "int,num,String");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect
index 4a31e13..f6649ec 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect
@@ -1,37 +1,27 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart";
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::•];
- constructor empty() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::A::•]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::num*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::num>();
}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[self::B::•];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[self::B::•]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::String*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::String>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
;
- method toString() → core::String*
+ method toString() → core::String
;
}
static method main() → dynamic
@@ -39,6 +29,6 @@
Extra constant evaluation status:
-Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirection_chain_type_arguments.dart:12:7 -> ConstructorTearOffConstant(A.)
-Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirection_chain_type_arguments.dart:17:7 -> ConstructorTearOffConstant(B.)
+Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirection_chain_type_arguments.dart:10:7 -> ConstructorTearOffConstant(A.)
+Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirection_chain_type_arguments.dart:15:7 -> ConstructorTearOffConstant(B.)
Extra constant evaluation: evaluated: 6, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect
index 273bd861..8414860 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::num*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::num>();
}
-class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::String*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::String>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::num*, core::String*>()}", "int,num,String");
+ exp::Expect::equals("${new self::C::•<core::int, core::num, core::String>()}", "int,num,String");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
index 51e5f08..9389f2f 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.md file.
-// @dart=2.9
+
// The test checks that dependencies of type arguments of targets of redirecting
// factories on type parameters of the corresponding classes are respected in
// the resulting type arguments of redirecting factories invocations.
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
index c51fbab..29e8862 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
abstract class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
index 1ba84ec..7040eb4 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
abstract class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect
index 516d00c..78b125f 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::List<self::A::•::T*>*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::List<self::A::•::T%>>();
}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+abstract class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::Map<self::B::•::U*, self::B::•::W*>*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::Map<self::B::•::U%, self::B::•::W%>>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::List<core::int*>*, core::Map<core::int*, core::List<core::int*>*>*>()}", "int,List<int>,Map<int, List<int>>");
+ exp::Expect::equals("${new self::C::•<core::int, core::List<core::int>, core::Map<core::int, core::List<core::int>>>()}", "int,List<int>,Map<int, List<int>>");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.modular.expect
index 516d00c..78b125f 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.modular.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::List<self::A::•::T*>*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::List<self::A::•::T%>>();
}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+abstract class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::Map<self::B::•::U*, self::B::•::W*>*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::Map<self::B::•::U%, self::B::•::W%>>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::List<core::int*>*, core::Map<core::int*, core::List<core::int*>*>*>()}", "int,List<int>,Map<int, List<int>>");
+ exp::Expect::equals("${new self::C::•<core::int, core::List<core::int>, core::Map<core::int, core::List<core::int>>>()}", "int,List<int>,Map<int, List<int>>");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect
index 2736c94..67895ce 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect
@@ -1,37 +1,27 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart";
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::•];
- constructor empty() → self::A<self::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::A::•]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::List<self::A::•::T*>*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::List<self::A::•::T%>>();
}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[self::B::•];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+abstract class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[self::B::•]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::Map<self::B::•::U*, self::B::•::W*>*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::Map<self::B::•::U%, self::B::•::W%>>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
;
- method toString() → core::String*
+ method toString() → core::String
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect
index 516d00c..78b125f 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect
@@ -1,45 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- constructor empty() → self::A<self::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ constructor empty() → self::A<self::A::T%>
: super core::Object::•()
;
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return self::B::•<self::A::•::T*, core::List<self::A::•::T*>*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return self::B::•<self::A::•::T%, core::List<self::A::•::T%>>();
}
-abstract class B<U extends core::Object* = dynamic, W extends core::Object* = dynamic> extends self::A<self::B::U*> {
- static final field dynamic _redirecting# = <dynamic>[#C2];
- constructor empty() → self::B<self::B::U*, self::B::W*>*
+abstract class B<U extends core::Object? = dynamic, W extends core::Object? = dynamic> extends self::A<self::B::U%> {
+ static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
+ constructor empty() → self::B<self::B::U%, self::B::W%>
: super self::A::empty()
;
- static factory •<U extends core::Object* = dynamic, W extends core::Object* = dynamic>() → self::B<self::B::•::U*, self::B::•::W*>*
- return new self::C::•<self::B::•::U*, self::B::•::W*, core::Map<self::B::•::U*, self::B::•::W*>*>();
+ static factory •<U extends core::Object? = dynamic, W extends core::Object? = dynamic>() → self::B<self::B::•::U%, self::B::•::W%>
+ return new self::C::•<self::B::•::U%, self::B::•::W%, core::Map<self::B::•::U%, self::B::•::W%>>();
}
-class C<V extends core::Object* = dynamic, S extends core::Object* = dynamic, R extends core::Object* = dynamic> extends self::B<self::C::V*, self::C::S*> {
- constructor •() → self::C<self::C::V*, self::C::S*, self::C::R*>*
+class C<V extends core::Object? = dynamic, S extends core::Object? = dynamic, R extends core::Object? = dynamic> extends self::B<self::C::V%, self::C::S%> {
+ constructor •() → self::C<self::C::V%, self::C::S%, self::C::R%>
: super self::B::empty()
;
- method toString() → core::String*
- return "${self::C::V*},${self::C::S*},${self::C::R*}";
+ method toString() → core::String
+ return "${self::C::V%},${self::C::S%},${self::C::R%}";
}
static method main() → dynamic {
- exp::Expect::equals("${new self::C::•<core::int*, core::List<core::int*>*, core::Map<core::int*, core::List<core::int*>*>*>()}", "int,List<int>,Map<int, List<int>>");
+ exp::Expect::equals("${new self::C::•<core::int, core::List<core::int>, core::Map<core::int, core::List<core::int>>>()}", "int,List<int>,Map<int, List<int>>");
}
constants {
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart b/pkg/front_end/testcases/general/redirection_type_arguments.dart
index f5e6692..043daa1 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.md file.
-// @dart=2.9
+
// The test checks that type arguments of the target of redirection factory
// constructors are preserved.
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
index 14800fb..10ae984 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
class A {
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
index 2895a46..561ace4 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'package:expect/expect.dart';
class A {
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect
index be27ced..2819621 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
@@ -6,29 +6,19 @@
import "package:expect/expect.dart";
class A extends core::Object /*hasConstConstructor*/ {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- const constructor empty() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ const constructor empty() → self::A
: super core::Object::•()
;
- static factory •() → self::A*
- return new self::B::•<core::String*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •() → self::A
+ return new self::B::•<core::String>();
}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/ {
- const constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A /*hasConstConstructor*/ {
+ const constructor •() → self::B<self::B::T%>
: super self::A::empty()
;
- method toString() → core::String*
- return "${self::B::T*}";
+ method toString() → core::String
+ return "${self::B::T%}";
}
static method main() → void {
exp::Expect::equals("${#C2}", "String");
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.modular.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.modular.expect
index be27ced..2819621 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
@@ -6,29 +6,19 @@
import "package:expect/expect.dart";
class A extends core::Object /*hasConstConstructor*/ {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- const constructor empty() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ const constructor empty() → self::A
: super core::Object::•()
;
- static factory •() → self::A*
- return new self::B::•<core::String*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •() → self::A
+ return new self::B::•<core::String>();
}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/ {
- const constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A /*hasConstConstructor*/ {
+ const constructor •() → self::B<self::B::T%>
: super self::A::empty()
;
- method toString() → core::String*
- return "${self::B::T*}";
+ method toString() → core::String
+ return "${self::B::T%}";
}
static method main() → void {
exp::Expect::equals("${#C2}", "String");
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect
index 7640720..55d96b0 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect
@@ -1,32 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart";
class A extends core::Object /*hasConstConstructor*/ {
- static final field dynamic _redirecting# = <dynamic>[self::A::•];
- const constructor empty() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[self::A::•]/*isLegacy*/;
+ const constructor empty() → self::A
: super core::Object::•()
;
- static factory •() → self::A*
- return new self::B::•<core::String*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •() → self::A
+ return new self::B::•<core::String>();
}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/ {
- const constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A /*hasConstConstructor*/ {
+ const constructor •() → self::B<self::B::T%>
: super self::A::empty()
;
- method toString() → core::String*
+ method toString() → core::String
;
}
static method main() → void
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect
index be27ced..2819621 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
@@ -6,29 +6,19 @@
import "package:expect/expect.dart";
class A extends core::Object /*hasConstConstructor*/ {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- const constructor empty() → self::A*
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ const constructor empty() → self::A
: super core::Object::•()
;
- static factory •() → self::A*
- return new self::B::•<core::String*>();
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory •() → self::A
+ return new self::B::•<core::String>();
}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/ {
- const constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends self::A /*hasConstConstructor*/ {
+ const constructor •() → self::B<self::B::T%>
: super self::A::empty()
;
- method toString() → core::String*
- return "${self::B::T*}";
+ method toString() → core::String
+ return "${self::B::T%}";
}
static method main() → void {
exp::Expect::equals("${#C2}", "String");
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart b/pkg/front_end/testcases/general/regression_flutter51828.dart
index 9dabce8..3d161f3 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
// This is a regression test for https://github.com/flutter/flutter/issues/51828
// which failed due bad reuse/typing of temp. vars. in the async transform.
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
index 531b2cb..10f8088 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
Future<void> foo(x) async {}
}
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
index 531b2cb..10f8088 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
Future<void> foo(x) async {}
}
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
index 7cc953e..7171f2d 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo(dynamic x) → asy::Future<void>* async {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(dynamic x) → asy::Future<void> async {}
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method bar(dynamic x) → asy::Future<void>* async {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method bar(dynamic x) → asy::Future<void> async {}
}
static method main() → dynamic async
- return <asy::Future<void>*>[new self::A::•().{self::A::foo}(await null){(dynamic) →* asy::Future<void>*}, new self::B::•().{self::B::bar}(await null){(dynamic) →* asy::Future<void>*}];
+ return <asy::Future<void>>[new self::A::•().{self::A::foo}(await null){(dynamic) → asy::Future<void>}, new self::B::•().{self::B::bar}(await null){(dynamic) → asy::Future<void>}];
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.modular.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.modular.expect
index 7cc953e..7171f2d 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.modular.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo(dynamic x) → asy::Future<void>* async {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(dynamic x) → asy::Future<void> async {}
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method bar(dynamic x) → asy::Future<void>* async {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method bar(dynamic x) → asy::Future<void> async {}
}
static method main() → dynamic async
- return <asy::Future<void>*>[new self::A::•().{self::A::foo}(await null){(dynamic) →* asy::Future<void>*}, new self::B::•().{self::B::bar}(await null){(dynamic) →* asy::Future<void>*}];
+ return <asy::Future<void>>[new self::A::•().{self::A::foo}(await null){(dynamic) → asy::Future<void>}, new self::B::•().{self::B::bar}(await null){(dynamic) → asy::Future<void>}];
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect
index 22ce718..fa8b321 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- method foo(dynamic x) → asy::Future<void>* async
+ method foo(dynamic x) → asy::Future<void> async
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- method bar(dynamic x) → asy::Future<void>* async
+ method bar(dynamic x) → asy::Future<void> async
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic async
;
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
index a6a1585..34a3bef 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
@@ -1,20 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:_internal" as _in;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method foo(dynamic x) → asy::Future<void>* /* originally async */ {
- final asy::_Future<void>* :async_future = new asy::_Future::•<void>();
+ method foo(dynamic x) → asy::Future<void> /* originally async */ {
+ final asy::_Future<void> :async_future = new asy::_Future::•<void>();
core::bool* :is_sync = false;
void :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
@@ -23,37 +23,27 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method bar(dynamic x) → asy::Future<void>* /* originally async */ {
- final asy::_Future<void>* :async_future = new asy::_Future::•<void>();
+ method bar(dynamic x) → asy::Future<void> /* originally async */ {
+ final asy::_Future<void> :async_future = new asy::_Future::•<void>();
core::bool* :is_sync = false;
void :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
@@ -62,36 +52,26 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
- final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+ final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- self::B* :async_temporary_0;
+ self::B :async_temporary_0;
dynamic :async_temporary_1;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
@@ -99,21 +79,21 @@
{
:async_temporary_1 = new self::A::•();
[yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
- :async_temporary_1 = _in::unsafeCast<self::A*>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) →* asy::Future<void>*};
+ :async_temporary_1 = _in::unsafeCast<self::A>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) → asy::Future<void>};
:async_temporary_0 = new self::B::•();
[yield] let dynamic #t2 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
- :return_value = core::_GrowableList::_literal2<asy::Future<void>*>(_in::unsafeCast<asy::Future<void>*>(:async_temporary_1), _in::unsafeCast<self::B*>(:async_temporary_0).{self::B::bar}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) →* asy::Future<void>*});
+ :return_value = core::_GrowableList::_literal2<asy::Future<void>>(_in::unsafeCast<asy::Future<void>>(:async_temporary_1), _in::unsafeCast<self::B>(:async_temporary_0).{self::B::bar}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) → asy::Future<void>});
break #L3;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
index 91c2303..754c94e 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
+// @dart=2.13
+
// This test checks that generic function types are rejected with an appropriate
// compile-time error message if encountered in bounds of type variables.
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
index cded83b..8c0eea5 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
@@ -1,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.13
class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
main() {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
index cded83b..8c0eea5 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
@@ -1,4 +1,4 @@
-// @dart = 2.9
+// @dart = 2.13
class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
main() {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect
index dcd7a33..ec2f6c1 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:8:12: Error: Type variables can't have generic function types in their bounds.
+// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
// ^^^^^
//
import self as self;
import "dart:core" as core;
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY*) →* TypeY* = dynamic> extends core::Object {
- synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
+class Hest<TypeX extends <TypeY extends core::Object? = dynamic>(TypeY%) → TypeY% = dynamic> extends core::Object {
+ synthetic constructor •() → self::Hest<self::Hest::TypeX>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.modular.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.modular.expect
index dcd7a33..ec2f6c1 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:8:12: Error: Type variables can't have generic function types in their bounds.
+// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
// ^^^^^
//
import self as self;
import "dart:core" as core;
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY*) →* TypeY* = dynamic> extends core::Object {
- synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
+class Hest<TypeX extends <TypeY extends core::Object? = dynamic>(TypeY%) → TypeY% = dynamic> extends core::Object {
+ synthetic constructor •() → self::Hest<self::Hest::TypeX>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect
index 7cd79c3..ea03424 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:8:12: Error: Type variables can't have generic function types in their bounds.
+// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
// ^^^^^
//
import self as self;
import "dart:core" as core;
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY*) →* TypeY* = dynamic> extends core::Object {
- synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
+class Hest<TypeX extends <TypeY extends core::Object? = dynamic>(TypeY%) → TypeY% = dynamic> extends core::Object {
+ synthetic constructor •() → self::Hest<self::Hest::TypeX>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect
index dcd7a33..ec2f6c1 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:8:12: Error: Type variables can't have generic function types in their bounds.
+// pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
// ^^^^^
//
import self as self;
import "dart:core" as core;
-class Hest<TypeX extends <TypeY extends core::Object* = dynamic>(TypeY*) →* TypeY* = dynamic> extends core::Object {
- synthetic constructor •() → self::Hest<self::Hest::TypeX*>*
+class Hest<TypeX extends <TypeY extends core::Object? = dynamic>(TypeY%) → TypeY% = dynamic> extends core::Object {
+ synthetic constructor •() → self::Hest<self::Hest::TypeX>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
index ad85c13..f30bd53 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
bool f(List x) {
return x.expand((y) {
// Since y has type dynamic, y.split(',') has type dynamic, so an implicit
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
index d583be0..fcee7cc 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
bool f(List x) {}
main() {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
index d583be0..fcee7cc 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
bool f(List x) {}
main() {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect
index 7704535..d5c71eb 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method f(core::List<dynamic>* x) → core::bool* {
- return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
- return y{dynamic}.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- }){((dynamic) →* core::Iterable<dynamic>*) →* core::Iterable<dynamic>*}.{core::Iterable::any}((dynamic y) → core::bool* => y =={core::Object::==}{(core::Object*) →* core::bool*} "z"){((dynamic) →* core::bool*) →* core::bool*};
+static method f(core::List<dynamic> x) → core::bool {
+ return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic> {
+ return y{dynamic}.split(",") as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>;
+ }){((dynamic) → core::Iterable<dynamic>) → core::Iterable<dynamic>}.{core::Iterable::any}((dynamic y) → core::bool => y =={core::Object::==}{(core::Object) → core::bool} "z"){((dynamic) → core::bool) → core::bool};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.modular.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.modular.expect
index 7704535..d5c71eb 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.modular.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method f(core::List<dynamic>* x) → core::bool* {
- return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
- return y{dynamic}.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- }){((dynamic) →* core::Iterable<dynamic>*) →* core::Iterable<dynamic>*}.{core::Iterable::any}((dynamic y) → core::bool* => y =={core::Object::==}{(core::Object*) →* core::bool*} "z"){((dynamic) →* core::bool*) →* core::bool*};
+static method f(core::List<dynamic> x) → core::bool {
+ return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic> {
+ return y{dynamic}.split(",") as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>;
+ }){((dynamic) → core::Iterable<dynamic>) → core::Iterable<dynamic>}.{core::Iterable::any}((dynamic y) → core::bool => y =={core::Object::==}{(core::Object) → core::bool} "z"){((dynamic) → core::bool) → core::bool};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect
index bd4829a..03fb14c 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method f(core::List<dynamic>* x) → core::bool*
+static method f(core::List<dynamic> x) → core::bool
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect
index 7704535..d5c71eb 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method f(core::List<dynamic>* x) → core::bool* {
- return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
- return y{dynamic}.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- }){((dynamic) →* core::Iterable<dynamic>*) →* core::Iterable<dynamic>*}.{core::Iterable::any}((dynamic y) → core::bool* => y =={core::Object::==}{(core::Object*) →* core::bool*} "z"){((dynamic) →* core::bool*) →* core::bool*};
+static method f(core::List<dynamic> x) → core::bool {
+ return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic> {
+ return y{dynamic}.split(",") as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>;
+ }){((dynamic) → core::Iterable<dynamic>) → core::Iterable<dynamic>}.{core::Iterable::any}((dynamic y) → core::bool => y =={core::Object::==}{(core::Object) → core::bool} "z"){((dynamic) → core::bool) → core::bool};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart b/pkg/front_end/testcases/general/sdk_diagnostic.dart
index d341fc5..f8f4723 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
class C extends Iterable<Object> {
// Missing implementation of [iterator] leads to diagnostic which refers to
// the SDK. This test is intended to test that such references are displayed
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
index a63a4d4..1a2b8fa 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C extends Iterable<Object> {}
test() {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
index 0bd2569..23c1a60 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C extends Iterable<Object> {}
main() {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect
index 7131789..20c715f 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,47 +26,10 @@
import self as self;
import "dart:core" as core;
-class C extends core::Iterable<core::Object*> {
- synthetic constructor •() → self::C*
+class C extends core::Iterable<core::Object> {
+ synthetic constructor •() → self::C
: super core::Iterable::•()
;
- abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*; -> core::Iterable::cast
- abstract member-signature method followedBy(covariant-by-class core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*; -> core::Iterable::followedBy
- abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* toElement) → core::Iterable<self::C::map::T*>*; -> core::Iterable::map
- abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::where
- abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*; -> core::Iterable::whereType
- abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* toElements) → core::Iterable<self::C::expand::T*>*; -> core::Iterable::expand
- abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
- abstract member-signature method forEach((core::Object*) →* void action) → void; -> core::Iterable::forEach
- abstract member-signature method reduce(covariant-by-class (core::Object*, core::Object*) →* core::Object* combine) → core::Object*; -> core::Iterable::reduce
- abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*; -> core::Iterable::fold
- abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::every
- abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
- abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::any
- abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::Object*>*; -> core::Iterable::toList
- abstract member-signature method toSet() → core::Set<core::Object*>*; -> core::Iterable::toSet
- abstract member-signature get length() → core::int*; -> core::Iterable::length
- abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
- abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
- abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::take
- abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::takeWhile
- abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::skip
- abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::skipWhile
- abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::firstWhere
- abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::lastWhere
- abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::singleWhere
- abstract member-signature method elementAt(core::int* index) → core::Object*; -> core::Iterable::elementAt
- abstract member-signature method toString() → core::String*; -> core::Iterable::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract member-signature get iterator() → core::Iterator<core::Object*>*; -> core::Iterable::iterator
}
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/general/sdk_diagnostic.dart:12:8: Error: Too few positional arguments: 1 required, 0 given.
@@ -74,9 +37,3 @@
^";
}
static method main() → dynamic {}
-
-constants {
- #C1 = ""
- #C2 = true
- #C3 = null
-}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.modular.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.modular.expect
index 7131789..20c715f 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,47 +26,10 @@
import self as self;
import "dart:core" as core;
-class C extends core::Iterable<core::Object*> {
- synthetic constructor •() → self::C*
+class C extends core::Iterable<core::Object> {
+ synthetic constructor •() → self::C
: super core::Iterable::•()
;
- abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*; -> core::Iterable::cast
- abstract member-signature method followedBy(covariant-by-class core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*; -> core::Iterable::followedBy
- abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* toElement) → core::Iterable<self::C::map::T*>*; -> core::Iterable::map
- abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::where
- abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*; -> core::Iterable::whereType
- abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* toElements) → core::Iterable<self::C::expand::T*>*; -> core::Iterable::expand
- abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
- abstract member-signature method forEach((core::Object*) →* void action) → void; -> core::Iterable::forEach
- abstract member-signature method reduce(covariant-by-class (core::Object*, core::Object*) →* core::Object* combine) → core::Object*; -> core::Iterable::reduce
- abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*; -> core::Iterable::fold
- abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::every
- abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
- abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::any
- abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::Object*>*; -> core::Iterable::toList
- abstract member-signature method toSet() → core::Set<core::Object*>*; -> core::Iterable::toSet
- abstract member-signature get length() → core::int*; -> core::Iterable::length
- abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
- abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
- abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::take
- abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::takeWhile
- abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::skip
- abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::skipWhile
- abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::firstWhere
- abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::lastWhere
- abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::singleWhere
- abstract member-signature method elementAt(core::int* index) → core::Object*; -> core::Iterable::elementAt
- abstract member-signature method toString() → core::String*; -> core::Iterable::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract member-signature get iterator() → core::Iterator<core::Object*>*; -> core::Iterable::iterator
}
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/general/sdk_diagnostic.dart:12:8: Error: Too few positional arguments: 1 required, 0 given.
@@ -74,9 +37,3 @@
^";
}
static method main() → dynamic {}
-
-constants {
- #C1 = ""
- #C2 = true
- #C3 = null
-}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect
index 3c5b61f..b08de4b 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -19,46 +19,9 @@
import self as self;
import "dart:core" as core;
-class C extends core::Iterable<core::Object*> {
- synthetic constructor •() → self::C*
+class C extends core::Iterable<core::Object> {
+ synthetic constructor •() → self::C
;
- abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*; -> core::Iterable::cast
- abstract member-signature method followedBy(covariant-by-class core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*; -> core::Iterable::followedBy
- abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* toElement) → core::Iterable<self::C::map::T*>*; -> core::Iterable::map
- abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::where
- abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*; -> core::Iterable::whereType
- abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* toElements) → core::Iterable<self::C::expand::T*>*; -> core::Iterable::expand
- abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
- abstract member-signature method forEach((core::Object*) →* void action) → void; -> core::Iterable::forEach
- abstract member-signature method reduce(covariant-by-class (core::Object*, core::Object*) →* core::Object* combine) → core::Object*; -> core::Iterable::reduce
- abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*; -> core::Iterable::fold
- abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::every
- abstract member-signature method join([core::String* separator]) → core::String*; -> core::Iterable::join
- abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::any
- abstract member-signature method toList({core::bool* growable}) → core::List<core::Object*>*; -> core::Iterable::toList
- abstract member-signature method toSet() → core::Set<core::Object*>*; -> core::Iterable::toSet
- abstract member-signature get length() → core::int*; -> core::Iterable::length
- abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
- abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
- abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::take
- abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::takeWhile
- abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::skip
- abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::skipWhile
- abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse}) → core::Object*; -> core::Iterable::firstWhere
- abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse}) → core::Object*; -> core::Iterable::lastWhere
- abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse}) → core::Object*; -> core::Iterable::singleWhere
- abstract member-signature method elementAt(core::int* index) → core::Object*; -> core::Iterable::elementAt
- abstract member-signature method toString() → core::String*; -> core::Iterable::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract member-signature get iterator() → core::Iterator<core::Object*>*; -> core::Iterable::iterator
}
static method test() → dynamic
;
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect
index 7131789..20c715f 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,47 +26,10 @@
import self as self;
import "dart:core" as core;
-class C extends core::Iterable<core::Object*> {
- synthetic constructor •() → self::C*
+class C extends core::Iterable<core::Object> {
+ synthetic constructor •() → self::C
: super core::Iterable::•()
;
- abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*; -> core::Iterable::cast
- abstract member-signature method followedBy(covariant-by-class core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*; -> core::Iterable::followedBy
- abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* toElement) → core::Iterable<self::C::map::T*>*; -> core::Iterable::map
- abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::where
- abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*; -> core::Iterable::whereType
- abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* toElements) → core::Iterable<self::C::expand::T*>*; -> core::Iterable::expand
- abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
- abstract member-signature method forEach((core::Object*) →* void action) → void; -> core::Iterable::forEach
- abstract member-signature method reduce(covariant-by-class (core::Object*, core::Object*) →* core::Object* combine) → core::Object*; -> core::Iterable::reduce
- abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*; -> core::Iterable::fold
- abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::every
- abstract member-signature method join([core::String* separator = #C1]) → core::String*; -> core::Iterable::join
- abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::any
- abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::Object*>*; -> core::Iterable::toList
- abstract member-signature method toSet() → core::Set<core::Object*>*; -> core::Iterable::toSet
- abstract member-signature get length() → core::int*; -> core::Iterable::length
- abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
- abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
- abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::take
- abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::takeWhile
- abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::skip
- abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::skipWhile
- abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::firstWhere
- abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::lastWhere
- abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {covariant-by-class () →* core::Object* orElse = #C3}) → core::Object*; -> core::Iterable::singleWhere
- abstract member-signature method elementAt(core::int* index) → core::Object*; -> core::Iterable::elementAt
- abstract member-signature method toString() → core::String*; -> core::Iterable::toString
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract member-signature get iterator() → core::Iterator<core::Object*>*; -> core::Iterable::iterator
}
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/general/sdk_diagnostic.dart:12:8: Error: Too few positional arguments: 1 required, 0 given.
@@ -74,9 +37,3 @@
^";
}
static method main() → dynamic {}
-
-constants {
- #C1 = ""
- #C2 = true
- #C3 = null
-}
diff --git a/pkg/front_end/testcases/general/spread_collection.dart b/pkg/front_end/testcases/general/spread_collection.dart
index 5cdf7b0..569f62b 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart
+++ b/pkg/front_end/testcases/general/spread_collection.dart
@@ -1,22 +1,25 @@
// Copyright (c) 2019, 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.
-// @dart=2.9
+
+List<int>? nullableList = [3];
+Map<int, int>? nullableMap = {3: 3};
+
main() {
final aList = <int>[
1,
...[2],
- ...?[3]
+ ...?nullableList
];
final aMap = <int, int>{
1: 1,
...{2: 2},
- ...?{3: 3}
+ ...?nullableMap
};
final aSet = <int>{
1,
...[2],
- ...?[3]
+ ...?nullableList
};
final aSetOrMap = {...foo()};
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
index 4da36bc..058a0e1 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
@@ -1,3 +1,4 @@
-// @dart = 2.9
+List<int>? nullableList = [3];
+Map<int, int>? nullableMap = {3: 3};
main() {}
foo() => null;
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
index 0dadf4a..90935b5 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
-// @dart = 2.9
+List<int>? nullableList = [3];
+Map<int, int>? nullableMap = {3: 3};
foo() => null;
main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
index 6948e05..958f9f7 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// final aSetOrMap = {...foo()};
// ^
@@ -11,33 +11,35 @@
import "dart:core" as core;
import "dart:collection" as col;
+static field core::List<core::int>? nullableList = <core::int>[3];
+static field core::Map<core::int, core::int>? nullableMap = <core::int, core::int>{3: 3};
static method main() → dynamic {
- final core::List<core::int*>* aList = block {
- final core::List<core::int*>* #t1 = <core::int*>[1];
- #t1.{core::List::addAll}{Invariant}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t2 = <core::int*>[3];
+ final core::List<core::int> aList = block {
+ final core::List<core::int> #t1 = <core::int>[1];
+ #t1.{core::List::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t2 = self::nullableList;
if(!(#t2 == null))
- #t1.{core::List::addAll}{Invariant}(#t2){(core::Iterable<core::int*>*) →* void};
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t1;
- final core::Map<core::int*, core::int*>* aMap = block {
- final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int*, core::int*) →* void};
- for (final core::MapEntry<core::int*, core::int*>* #t4 in <core::int*, core::int*>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int*}, #t4.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
- final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
+ final core::Map<core::int, core::int> aMap = block {
+ final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
+ #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+ for (final core::MapEntry<core::int, core::int> #t4 in <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+ final core::Map<core::int, core::int>? #t5 = self::nullableMap;
if(!(#t5 == null))
- for (final core::MapEntry<core::int*, core::int*>* #t6 in #t5.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
- #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int*}, #t6.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+ for (final core::MapEntry<core::int, core::int> #t6 in #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+ #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
} =>#t3;
- final core::Set<core::int*>* aSet = block {
- final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
- #t7.{core::Set::addAll}{Invariant}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t8 = <core::int*>[3];
+ final core::Set<core::int> aSet = block {
+ final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+ #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+ #t7.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t8 = self::nullableList;
if(!(#t8 == null))
- #t7.{core::Set::addAll}{Invariant}(#t8){(core::Iterable<core::int*>*) →* void};
+ #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t7;
- final Never* aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+ final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
final aSetOrMap = {...foo()};
^";
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
index 6948e05..958f9f7 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// final aSetOrMap = {...foo()};
// ^
@@ -11,33 +11,35 @@
import "dart:core" as core;
import "dart:collection" as col;
+static field core::List<core::int>? nullableList = <core::int>[3];
+static field core::Map<core::int, core::int>? nullableMap = <core::int, core::int>{3: 3};
static method main() → dynamic {
- final core::List<core::int*>* aList = block {
- final core::List<core::int*>* #t1 = <core::int*>[1];
- #t1.{core::List::addAll}{Invariant}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t2 = <core::int*>[3];
+ final core::List<core::int> aList = block {
+ final core::List<core::int> #t1 = <core::int>[1];
+ #t1.{core::List::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t2 = self::nullableList;
if(!(#t2 == null))
- #t1.{core::List::addAll}{Invariant}(#t2){(core::Iterable<core::int*>*) →* void};
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t1;
- final core::Map<core::int*, core::int*>* aMap = block {
- final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int*, core::int*) →* void};
- for (final core::MapEntry<core::int*, core::int*>* #t4 in <core::int*, core::int*>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int*}, #t4.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
- final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
+ final core::Map<core::int, core::int> aMap = block {
+ final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
+ #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+ for (final core::MapEntry<core::int, core::int> #t4 in <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+ final core::Map<core::int, core::int>? #t5 = self::nullableMap;
if(!(#t5 == null))
- for (final core::MapEntry<core::int*, core::int*>* #t6 in #t5.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
- #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int*}, #t6.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+ for (final core::MapEntry<core::int, core::int> #t6 in #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
+ #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
} =>#t3;
- final core::Set<core::int*>* aSet = block {
- final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
- #t7.{core::Set::addAll}{Invariant}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t8 = <core::int*>[3];
+ final core::Set<core::int> aSet = block {
+ final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
+ #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+ #t7.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t8 = self::nullableList;
if(!(#t8 == null))
- #t7.{core::Set::addAll}{Invariant}(#t8){(core::Iterable<core::int*>*) →* void};
+ #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t7;
- final Never* aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+ final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
final aSetOrMap = {...foo()};
^";
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect
index 4c2eb20..46e25f5 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect
@@ -1,6 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
+import "dart:core" as core;
+static field core::List<core::int>? nullableList;
+static field core::Map<core::int, core::int>? nullableMap;
static method main() → dynamic
;
static method foo() → dynamic
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
index 29f6481..e9f240b 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// final aSetOrMap = {...foo()};
// ^
@@ -11,42 +11,44 @@
import "dart:core" as core;
import "dart:collection" as col;
+static field core::List<core::int>? nullableList = core::_GrowableList::_literal1<core::int>(3);
+static field core::Map<core::int, core::int>? nullableMap = <core::int, core::int>{3: 3};
static method main() → dynamic {
- final core::List<core::int*>* aList = block {
- final core::List<core::int*>* #t1 = core::_GrowableList::_literal1<core::int*>(1);
- #t1.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(2)){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t2 = core::_GrowableList::_literal1<core::int*>(3);
+ final core::List<core::int> aList = block {
+ final core::List<core::int> #t1 = core::_GrowableList::_literal1<core::int>(1);
+ #t1.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(2)){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t2 = self::nullableList;
if(!(#t2 == null))
- #t1.{core::List::addAll}{Invariant}(#t2){(core::Iterable<core::int*>*) →* void};
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t1;
- final core::Map<core::int*, core::int*>* aMap = block {
- final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
- #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int*, core::int*) →* void};
+ final core::Map<core::int, core::int> aMap = block {
+ final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
+ #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
{
- core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
- final core::MapEntry<core::int*, core::int*>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int*}, #t4.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+ final core::MapEntry<core::int, core::int> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
- final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
+ final core::Map<core::int, core::int>? #t5 = self::nullableMap;
if(!(#t5 == null)) {
- core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t5.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
- final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
- #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int*}, #t6.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
+ final core::MapEntry<core::int, core::int> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+ #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
} =>#t3;
- final core::Set<core::int*>* aSet = block {
- final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
- #t7.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(2)){(core::Iterable<core::int*>*) →* void};
- final core::Iterable<core::int*>* #t8 = core::_GrowableList::_literal1<core::int*>(3);
+ final core::Set<core::int> aSet = block {
+ final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
+ #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+ #t7.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(2)){(core::Iterable<core::int>) → void};
+ final core::Iterable<core::int>? #t8 = self::nullableList;
if(!(#t8 == null))
- #t7.{core::Set::addAll}{Invariant}(#t8){(core::Iterable<core::int*>*) →* void};
+ #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t7;
- final Never* aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:21:21: Error: Not enough type information to disambiguate between literal set and literal map.
+ final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
final aSetOrMap = {...foo()};
^";
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart b/pkg/front_end/testcases/general/spread_collection_inference.dart
index bb1790d..6829547 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, 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.
+
// @dart=2.9
+
// This test case checks that inference works for spread collections, and that
// the errors are reported when necessary.
@@ -18,94 +20,94 @@
Map<int, num> mapIntNum = <int, num>{42: 42};
List<num> listNum = <num>[42];
- var /*@ type=List<dynamic>* */ lhs10 = /*@ typeArgs=dynamic */ [
+ var /*@type=List<dynamic>**/ lhs10 = /*@ typeArgs=dynamic */ [
...
/*@ typeArgs=dynamic */ []
];
- var /*@ type=Set<dynamic>* */ set10 = <dynamic>{
+ var /*@type=Set<dynamic>**/ set10 = <dynamic>{
... /*@ typeArgs=dynamic */ []
};
- var /*@ type=Map<dynamic, dynamic>* */ map10 = <dynamic, dynamic>{
+ var /*@type=Map<dynamic, dynamic>**/ map10 = <dynamic, dynamic>{
...
/*@ typeArgs=dynamic, dynamic */ {}
};
- var /*@ type=Map<dynamic, dynamic>* */ map10ambiguous =
+ var /*@type=Map<dynamic, dynamic>**/ map10ambiguous =
/*@ typeArgs=dynamic, dynamic */ {
... /*@ typeArgs=dynamic, dynamic */ {}
};
- var /*@ type=List<int*>* */ lhs20 = /*@ typeArgs=int* */ [...spread];
+ var /*@type=List<int*>**/ lhs20 = /*@typeArgs=int**/ [...spread];
- var /*@ type=Set<int*>* */ set20 = /*@ typeArgs=int* */ {...spread, 42};
+ var /*@type=Set<int*>**/ set20 = /*@typeArgs=int**/ {...spread, 42};
- var /*@ type=Set<int*>* */ set20ambiguous = /*@ typeArgs=int* */ {...spread};
+ var /*@type=Set<int*>**/ set20ambiguous = /*@typeArgs=int**/ {...spread};
- var /*@ type=Map<String*, int*>* */ map20 = /*@ typeArgs=String*, int* */
+ var /*@type=Map<String*, int*>**/ map20 = /*@typeArgs=String*, int**/
{...mapSpread, "baz": 42};
- var /*@ type=Map<String*, int*>* */ map20ambiguous = /*@ typeArgs=String*, int* */
+ var /*@type=Map<String*, int*>**/ map20ambiguous = /*@typeArgs=String*, int**/
{...mapSpread};
- var /*@ type=List<dynamic>* */ lhs21 = /*@ typeArgs=dynamic */ [
+ var /*@type=List<dynamic>**/ lhs21 = /*@ typeArgs=dynamic */ [
...(spread as dynamic)
];
- var /*@ type=Set<dynamic>* */ set21 = /*@ typeArgs=dynamic */ {
+ var /*@type=Set<dynamic>**/ set21 = /*@ typeArgs=dynamic */ {
...(spread as dynamic),
42
};
- var /*@ type=Map<dynamic, dynamic>* */ map21 = /*@ typeArgs=dynamic, dynamic */
+ var /*@type=Map<dynamic, dynamic>**/ map21 = /*@ typeArgs=dynamic, dynamic */
{...(mapSpread as dynamic), "baz": 42};
dynamic map21ambiguous = {...(mapSpread as dynamic)};
- List<int> lhs22 = /*@ typeArgs=int* */ [... /*@ typeArgs=int* */ []];
+ List<int> lhs22 = /*@typeArgs=int**/ [... /*@typeArgs=int**/ []];
- Set<int> set22 = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ [], 42};
+ Set<int> set22 = /*@typeArgs=int**/ {... /*@typeArgs=int**/ [], 42};
- Set<int> set22ambiguous = /*@ typeArgs=int* */ {... /*@ typeArgs=int* */ []};
+ Set<int> set22ambiguous = /*@typeArgs=int**/ {... /*@typeArgs=int**/ []};
- Map<String, int> map22 = /*@ typeArgs=String*, int* */
- {... /*@ typeArgs=String*, int* */ {}};
+ Map<String, int> map22 = /*@typeArgs=String*, int**/
+ {... /*@typeArgs=String*, int**/ {}};
- List<List<int>> lhs23 = /*@ typeArgs=List<int*>* */ [
- ... /*@ typeArgs=List<int*>* */
- [/*@ typeArgs=int* */ []]
+ List<List<int>> lhs23 = /*@typeArgs=List<int*>**/ [
+ ... /*@typeArgs=List<int*>**/
+ [/*@typeArgs=int**/ []]
];
- Set<List<int>> set23 = /*@ typeArgs=List<int*>* */ {
- ... /*@ typeArgs=List<int*>* */
- [/*@ typeArgs=int* */ []],
+ Set<List<int>> set23 = /*@typeArgs=List<int*>**/ {
+ ... /*@typeArgs=List<int*>**/
+ [/*@typeArgs=int**/ []],
<int>[42]
};
- Set<List<int>> set23ambiguous = /*@ typeArgs=List<int*>* */
+ Set<List<int>> set23ambiguous = /*@typeArgs=List<int*>**/
{
- ... /*@ typeArgs=List<int*>* */ [/*@ typeArgs=int* */ []]
+ ... /*@typeArgs=List<int*>**/ [/*@typeArgs=int**/ []]
};
- Map<String, List<int>> map23 = /*@ typeArgs=String*, List<int*>* */
+ Map<String, List<int>> map23 = /*@typeArgs=String*, List<int*>**/
{
- ... /*@ typeArgs=String*, List<int*>* */ {"baz": /*@ typeArgs=int* */ [] }
+ ... /*@typeArgs=String*, List<int*>**/ {"baz": /*@typeArgs=int**/ [] }
};
dynamic map24ambiguous = {...spread, ...mapSpread};
- int lhs30 = /*@ typeArgs=int* */ [...spread];
+ int lhs30 = /*@typeArgs=int**/ [...spread];
- int set30 = /*@ typeArgs=int* */ {...spread, 42};
+ int set30 = /*@typeArgs=int**/ {...spread, 42};
- int set30ambiguous = /*@ typeArgs=int* */
+ int set30ambiguous = /*@typeArgs=int**/
{...spread};
- int map30 = /*@ typeArgs=String*, int* */
+ int map30 = /*@typeArgs=String*, int**/
{...mapSpread, "baz": 42};
- int map30ambiguous = /*@ typeArgs=String*, int* */
+ int map30ambiguous = /*@typeArgs=String*, int**/
{...mapSpread};
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
@@ -132,7 +134,7 @@
Set<int> set70 = <int>{...null};
- var /*@ type=Set<dynamic>* */ set71ambiguous = /*@ typeArgs=dynamic */
+ var /*@type=Set<dynamic>**/ set71ambiguous = /*@ typeArgs=dynamic */
{
...null,
... /*@ typeArgs=dynamic */
@@ -145,13 +147,13 @@
Set<int> set80 = <int>{...?null};
- var /*@ type=Set<dynamic>* */ set81ambiguous = /*@ typeArgs=dynamic */
+ var /*@type=Set<dynamic>**/ set81ambiguous = /*@ typeArgs=dynamic */
{...?null, ... /*@ typeArgs=dynamic */ []};
Map<String, int> map80 = <String, int>{...?null};
- var /*@ type=Map<String*, int*>* */ map90 = <String, int>{
- ... /*@ typeArgs=String*, int* */ bar()
+ var /*@type=Map<String*, int*>**/ map90 = <String, int>{
+ ... /*@typeArgs=String*, int**/ bar()
};
List<int> list100 = <int>[...listNum];
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
index 470fbda..57142b1 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
@@ -2,93 +2,93 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// dynamic map21ambiguous = {...(mapSpread as dynamic)};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
// dynamic map24ambiguous = {...spread, ...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
// - 'List' is from 'dart:core'.
-// int lhs30 = /*@ typeArgs=int* */ [...spread];
-// ^
+// int lhs30 = /*@typeArgs=int**/ [...spread];
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
-// int set30 = /*@ typeArgs=int* */ {...spread, 42};
-// ^
+// int set30 = /*@typeArgs=int**/ {...spread, 42};
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
// {...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread, "baz": 42};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// List<String> lhs60 = <String>[...spread];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// Set<String> set60 = <String>{...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
// Map<int, int> map60 = <int, int>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
// Map<String, String> map61 = <String, String>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
// List<int> lhs70 = <int>[...null];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
// Set<int> set70 = <int>{...null};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
// ...null,
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
// Map<String, int> map70 = <String, int>{...null};
// ^
//
@@ -159,7 +159,7 @@
#t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
#t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
} =>#t18;
- dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
dynamic map21ambiguous = {...(mapSpread as dynamic)};
^";
@@ -201,23 +201,23 @@
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
#t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
} =>#t32;
- dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
^";
- core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- 'List' is from 'dart:core'.
- int lhs30 = /*@ typeArgs=int* */ [...spread];
- ^" in ( block {
+ int lhs30 = /*@typeArgs=int**/ [...spread];
+ ^" in ( block {
final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
} =>#t34) as{TypeError} core::int*;
- core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
- int set30 = /*@ typeArgs=int* */ {...spread, 42};
- ^" in ( block {
+ int set30 = /*@typeArgs=int**/ {...spread, 42};
+ ^" in ( block {
final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
#t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
} =>#t35) as{TypeError} core::int*;
- core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
{...spread};
^" in ( block {
@@ -227,7 +227,7 @@
#t36.{core::Set::add}{Invariant}(#t38){(core::int*) →* core::bool*};
}
} =>#t36) as{TypeError} core::int*;
- core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread, \"baz\": 42};
^" in ( block {
@@ -236,7 +236,7 @@
#t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String*}, #t40.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
#t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
} =>#t39) as{TypeError} core::int*;
- core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread};
^" in ( block {
@@ -244,57 +244,57 @@
for (final core::MapEntry<core::String*, core::int*>* #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
#t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String*}, #t42.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
} =>#t41) as{TypeError} core::int*;
- core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t43 = col::LinkedHashSet::•<dynamic>();
- #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^"){(dynamic) →* core::bool*};
} =>#t43;
- core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
^": null};
- core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t44 = col::LinkedHashSet::•<dynamic>();
- #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^"){(dynamic) →* core::bool*};
} =>#t44;
- core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
^": null};
- core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
List<String> lhs60 = <String>[...spread];
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t45 = col::LinkedHashSet::•<core::String*>();
- #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^"){(core::String*) →* core::bool*};
} =>#t45;
- core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
Map<int, int> map60 = <int, int>{...mapSpread};
^": null};
- core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
Map<String, String> map61 = <String, String>{...mapSpread};
^"};
- core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+ core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
List<int> lhs70 = <int>[...null];
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t46 = col::LinkedHashSet::•<core::int*>();
- #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^"){(core::int*) →* core::bool*};
} =>#t46;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t47 = col::LinkedHashSet::•<dynamic>();
- #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
...null,
^"){(dynamic) →* core::bool*};
for (final dynamic #t48 in <dynamic>[]) {
@@ -302,7 +302,7 @@
#t47.{core::Set::add}{Invariant}(#t49){(dynamic) →* core::bool*};
}
} =>#t47;
- core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+ core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
Map<String, int> map70 = <String, int>{...null};
^": null};
core::List<core::int*>* lhs80 = block {
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
index 470fbda..57142b1 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
@@ -2,93 +2,93 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// dynamic map21ambiguous = {...(mapSpread as dynamic)};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
// dynamic map24ambiguous = {...spread, ...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
// - 'List' is from 'dart:core'.
-// int lhs30 = /*@ typeArgs=int* */ [...spread];
-// ^
+// int lhs30 = /*@typeArgs=int**/ [...spread];
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
-// int set30 = /*@ typeArgs=int* */ {...spread, 42};
-// ^
+// int set30 = /*@typeArgs=int**/ {...spread, 42};
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
// {...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread, "baz": 42};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// List<String> lhs60 = <String>[...spread];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// Set<String> set60 = <String>{...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
// Map<int, int> map60 = <int, int>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
// Map<String, String> map61 = <String, String>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
// List<int> lhs70 = <int>[...null];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
// Set<int> set70 = <int>{...null};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
// ...null,
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
// Map<String, int> map70 = <String, int>{...null};
// ^
//
@@ -159,7 +159,7 @@
#t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
#t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
} =>#t18;
- dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
dynamic map21ambiguous = {...(mapSpread as dynamic)};
^";
@@ -201,23 +201,23 @@
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
#t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
} =>#t32;
- dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
^";
- core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- 'List' is from 'dart:core'.
- int lhs30 = /*@ typeArgs=int* */ [...spread];
- ^" in ( block {
+ int lhs30 = /*@typeArgs=int**/ [...spread];
+ ^" in ( block {
final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
} =>#t34) as{TypeError} core::int*;
- core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
- int set30 = /*@ typeArgs=int* */ {...spread, 42};
- ^" in ( block {
+ int set30 = /*@typeArgs=int**/ {...spread, 42};
+ ^" in ( block {
final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
#t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
} =>#t35) as{TypeError} core::int*;
- core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
{...spread};
^" in ( block {
@@ -227,7 +227,7 @@
#t36.{core::Set::add}{Invariant}(#t38){(core::int*) →* core::bool*};
}
} =>#t36) as{TypeError} core::int*;
- core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread, \"baz\": 42};
^" in ( block {
@@ -236,7 +236,7 @@
#t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String*}, #t40.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
#t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
} =>#t39) as{TypeError} core::int*;
- core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread};
^" in ( block {
@@ -244,57 +244,57 @@
for (final core::MapEntry<core::String*, core::int*>* #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
#t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String*}, #t42.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
} =>#t41) as{TypeError} core::int*;
- core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t43 = col::LinkedHashSet::•<dynamic>();
- #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^"){(dynamic) →* core::bool*};
} =>#t43;
- core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
^": null};
- core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t44 = col::LinkedHashSet::•<dynamic>();
- #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^"){(dynamic) →* core::bool*};
} =>#t44;
- core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
^": null};
- core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
List<String> lhs60 = <String>[...spread];
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t45 = col::LinkedHashSet::•<core::String*>();
- #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^"){(core::String*) →* core::bool*};
} =>#t45;
- core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
Map<int, int> map60 = <int, int>{...mapSpread};
^": null};
- core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
Map<String, String> map61 = <String, String>{...mapSpread};
^"};
- core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+ core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
List<int> lhs70 = <int>[...null];
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t46 = col::LinkedHashSet::•<core::int*>();
- #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^"){(core::int*) →* core::bool*};
} =>#t46;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t47 = col::LinkedHashSet::•<dynamic>();
- #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
...null,
^"){(dynamic) →* core::bool*};
for (final dynamic #t48 in <dynamic>[]) {
@@ -302,7 +302,7 @@
#t47.{core::Set::add}{Invariant}(#t49){(dynamic) →* core::bool*};
}
} =>#t47;
- core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+ core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
Map<String, int> map70 = <String, int>{...null};
^": null};
core::List<core::int*>* lhs80 = block {
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
index a1ed2c2..fe13a59 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
@@ -2,93 +2,93 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
// Try providing type arguments for the literal explicitly to disambiguate it.
// dynamic map21ambiguous = {...(mapSpread as dynamic)};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
// dynamic map24ambiguous = {...spread, ...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
// - 'List' is from 'dart:core'.
-// int lhs30 = /*@ typeArgs=int* */ [...spread];
-// ^
+// int lhs30 = /*@typeArgs=int**/ [...spread];
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
-// int set30 = /*@ typeArgs=int* */ {...spread, 42};
-// ^
+// int set30 = /*@typeArgs=int**/ {...spread, 42};
+// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
// - 'Set' is from 'dart:core'.
// {...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread, "baz": 42};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
// - 'Map' is from 'dart:core'.
// {...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// List<String> lhs60 = <String>[...spread];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
// Set<String> set60 = <String>{...spread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
// Map<int, int> map60 = <int, int>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
// Map<String, String> map61 = <String, String>{...mapSpread};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
// List<int> lhs70 = <int>[...null];
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
// Set<int> set70 = <int>{...null};
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
// ...null,
// ^
//
-// pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+// pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
// Map<String, int> map70 = <String, int>{...null};
// ^
//
@@ -190,7 +190,7 @@
}
#t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
} =>#t18;
- dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:64:28: Error: Not enough type information to disambiguate between literal set and literal map.
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
Try providing type arguments for the literal explicitly to disambiguate it.
dynamic map21ambiguous = {...(mapSpread as dynamic)};
^";
@@ -254,23 +254,23 @@
}
}
} =>#t32;
- dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:96:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
dynamic map24ambiguous = {...spread, ...mapSpread};
^";
- core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ core::int* lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:34: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- 'List' is from 'dart:core'.
- int lhs30 = /*@ typeArgs=int* */ [...spread];
- ^" in ( block {
+ int lhs30 = /*@typeArgs=int**/ [...spread];
+ ^" in ( block {
final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
} =>#t34) as{TypeError} core::int*;
- core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:100:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
- int set30 = /*@ typeArgs=int* */ {...spread, 42};
- ^" in ( block {
+ int set30 = /*@typeArgs=int**/ {...spread, 42};
+ ^" in ( block {
final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
#t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
} =>#t35) as{TypeError} core::int*;
- core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:103:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- 'Set' is from 'dart:core'.
{...spread};
^" in ( block {
@@ -286,7 +286,7 @@
}
}
} =>#t36) as{TypeError} core::int*;
- core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:106:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread, \"baz\": 42};
^" in ( block {
@@ -300,7 +300,7 @@
}
#t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
} =>#t39) as{TypeError} core::int*;
- core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:109:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- 'Map' is from 'dart:core'.
{...mapSpread};
^" in ( block {
@@ -313,57 +313,57 @@
}
}
} =>#t41) as{TypeError} core::int*;
- core::List<dynamic>* lhs40 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs40 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^");
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t43 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
^"){(dynamic) →* core::bool*};
} =>#t43;
- core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
^": null};
- core::List<dynamic>* lhs50 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ core::List<dynamic>* lhs50 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
^");
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t44 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:119:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread. Expected 'dynamic' or an Iterable.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
^"){(dynamic) →* core::bool*};
} =>#t44;
- core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
+ core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry. Expected 'dynamic' or a Map.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
^": null};
- core::List<core::String*>* lhs60 = core::_GrowableList::_literal1<core::String*>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ core::List<core::String*>* lhs60 = core::_GrowableList::_literal1<core::String*>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
List<String> lhs60 = <String>[...spread];
^");
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t45 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:125:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
Set<String> set60 = <String>{...spread};
^"){(core::String*) →* core::bool*};
} =>#t45;
- core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
Map<int, int> map60 = <int, int>{...mapSpread};
^": null};
- core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
Map<String, String> map61 = <String, String>{...mapSpread};
^"};
- core::List<core::int*>* lhs70 = core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:131:30: Error: Can't spread a value with static type 'Null'.
+ core::List<core::int*>* lhs70 = core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type 'Null'.
List<int> lhs70 = <int>[...null];
^");
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t46 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
^"){(core::int*) →* core::bool*};
} =>#t46;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t47 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
...null,
^"){(dynamic) →* core::bool*};
{
@@ -377,7 +377,7 @@
}
}
} =>#t47;
- core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:142:45: Error: Can't spread a value with static type 'Null'.
+ core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
Map<String, int> map70 = <String, int>{...null};
^": null};
core::List<core::int*>* lhs80 = block {
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart b/pkg/front_end/testcases/general/spread_collection_inference2.dart
new file mode 100644
index 0000000..d642c27
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart
@@ -0,0 +1,162 @@
+// Copyright (c) 2019, 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.
+
+// This test case checks that inference works for spread collections, and that
+// the errors are reported when necessary.
+
+/*@testedFeatures=inference*/
+
+Map<K, V> bar<K, V>() => throw '';
+
+foo(dynamic dynVar) {
+ List<int> spread = <int>[1, 2, 3];
+ Map<String, int> mapSpread = <String, int>{"foo": 4, "bar": 2};
+ int notSpreadInt = 42;
+ int Function()? notSpreadFunction = null;
+ // Note that all values are actually ints.
+ Map<int, num> mapIntNum = <int, num>{42: 42};
+ List<num> listNum = <num>[42];
+
+ var /*@type=List<dynamic>*/ lhs10 = /*@ typeArgs=dynamic */ [
+ ... /*@ typeArgs=dynamic */ []
+ ];
+
+ var /*@type=Set<dynamic>*/ set10 = <dynamic>{... /*@ typeArgs=dynamic */ []};
+
+ var /*@type=Map<dynamic, dynamic>*/ map10 = <dynamic, dynamic>{
+ ... /*@ typeArgs=dynamic, dynamic */ {}
+ };
+
+ var /*@type=Map<dynamic, dynamic>*/ map10ambiguous =
+ /*@ typeArgs=dynamic, dynamic */ {
+ ... /*@ typeArgs=dynamic, dynamic */ {}
+ };
+
+ var /*@type=List<int>*/ lhs20 = /*@typeArgs=int*/ [...spread];
+
+ var /*@type=Set<int>*/ set20 = /*@typeArgs=int*/ {...spread, 42};
+
+ var /*@type=Set<int>*/ set20ambiguous = /*@typeArgs=int*/ {...spread};
+
+ var /*@type=Map<String, int>*/ map20 = /*@typeArgs=String, int*/
+ {...mapSpread, "baz": 42};
+
+ var /*@type=Map<String, int>*/ map20ambiguous = /*@typeArgs=String, int*/
+ {...mapSpread};
+
+ var /*@type=List<dynamic>*/ lhs21 = /*@ typeArgs=dynamic */ [
+ ...(spread as dynamic)
+ ];
+
+ var /*@type=Set<dynamic>*/ set21 = /*@ typeArgs=dynamic */ {
+ ...(spread as dynamic),
+ 42
+ };
+
+ var /*@type=Map<dynamic, dynamic>*/ map21 = /*@ typeArgs=dynamic, dynamic */
+ {...(mapSpread as dynamic), "baz": 42};
+
+ dynamic map21ambiguous = {...(mapSpread as dynamic)};
+
+ List<int> lhs22 = /*@typeArgs=int*/ [... /*@typeArgs=int*/ []];
+
+ Set<int> set22 = /*@typeArgs=int*/ {... /*@typeArgs=int*/ [], 42};
+
+ Set<int> set22ambiguous = /*@typeArgs=int*/ {... /*@typeArgs=int*/ []};
+
+ Map<String, int> map22 = /*@typeArgs=String, int*/
+ {... /*@typeArgs=String, int*/ {}};
+
+ List<List<int>> lhs23 = /*@typeArgs=List<int>*/ [
+ ... /*@typeArgs=List<int>*/
+ [/*@typeArgs=int*/ []]
+ ];
+
+ Set<List<int>> set23 = /*@typeArgs=List<int>*/ {
+ ... /*@typeArgs=List<int>*/
+ [/*@typeArgs=int*/ []],
+ <int>[42]
+ };
+
+ Set<List<int>> set23ambiguous = /*@typeArgs=List<int>*/
+ {
+ ... /*@typeArgs=List<int>*/ [/*@typeArgs=int*/ []]
+ };
+
+ Map<String, List<int>> map23 = /*@typeArgs=String, List<int>*/
+ {
+ ... /*@typeArgs=String, List<int>*/ {"baz": /*@typeArgs=int*/ [] }
+ };
+
+ dynamic map24ambiguous = {...spread, ...mapSpread};
+
+ int lhs30 = /*@typeArgs=int*/ [...spread];
+
+ int set30 = /*@typeArgs=int*/ {...spread, 42};
+
+ int set30ambiguous = /*@typeArgs=int*/
+ {...spread};
+
+ int map30 = /*@typeArgs=String, int*/
+ {...mapSpread, "baz": 42};
+
+ int map30ambiguous = /*@typeArgs=String, int*/
+ {...mapSpread};
+
+ List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+
+ Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+
+ Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+
+ List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+
+ Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+
+ Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+
+ List<String> lhs60 = <String>[...spread];
+
+ Set<String> set60 = <String>{...spread};
+
+ Map<int, int> map60 = <int, int>{...mapSpread};
+
+ Map<String, String> map61 = <String, String>{...mapSpread};
+
+ List<int> lhs70 = <int>[...null];
+
+ Set<int> set70 = <int>{...null};
+
+ var /*@type=Set<dynamic>*/ set71ambiguous = /*@ typeArgs=dynamic */
+ {
+ ...null,
+ ... /*@ typeArgs=dynamic */
+ []
+ };
+
+ Map<String, int> map70 = <String, int>{...null};
+
+ List<int> lhs80 = <int>[...?null];
+
+ Set<int> set80 = <int>{...?null};
+
+ var /*@type=Set<dynamic>*/ set81ambiguous = /*@ typeArgs=dynamic */
+ {...?null, ... /*@ typeArgs=dynamic */ []};
+
+ Map<String, int> map80 = <String, int>{...?null};
+
+ var /*@type=Map<String, int>*/ map90 = <String, int>{
+ ... /*@typeArgs=String, int*/ bar()
+ };
+
+ List<int> list100 = <int>[...listNum];
+
+ Map<num, int> map100 = <num, int>{...mapIntNum};
+
+ List<int> list110 = <int>[...dynVar];
+
+ Map<num, int> map110 = <num, int>{...dynVar};
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline.expect
new file mode 100644
index 0000000..1bf0e63
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline.expect
@@ -0,0 +1,3 @@
+Map<K, V> bar<K, V>() => throw '';
+foo(dynamic dynVar) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..1bf0e63
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.textual_outline_modelled.expect
@@ -0,0 +1,3 @@
+Map<K, V> bar<K, V>() => throw '';
+foo(dynamic dynVar) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect
new file mode 100644
index 0000000..a27706e
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect
@@ -0,0 +1,383 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// Try providing type arguments for the literal explicitly to disambiguate it.
+// dynamic map21ambiguous = {...(mapSpread as dynamic)};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// dynamic map24ambiguous = {...spread, ...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// - 'List' is from 'dart:core'.
+// int lhs30 = /*@typeArgs=int*/ [...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// int set30 = /*@typeArgs=int*/ {...spread, 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// {...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread, "baz": 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// List<String> lhs60 = <String>[...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// Set<String> set60 = <String>{...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// Map<int, int> map60 = <int, int>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// Map<String, String> map61 = <String, String>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+// List<int> lhs70 = <int>[...null];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+// Set<int> set70 = <int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+// ...null,
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+// Map<String, int> map70 = <String, int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+// List<int> list100 = <int>[...listNum];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+// Map<num, int> map100 = <num, int>{...mapIntNum};
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method bar<K extends core::Object? = dynamic, V extends core::Object? = dynamic>() → core::Map<self::bar::K%, self::bar::V%>
+ return throw "";
+static method foo(dynamic dynVar) → dynamic {
+ core::List<core::int> spread = <core::int>[1, 2, 3];
+ core::Map<core::String, core::int> mapSpread = <core::String, core::int>{"foo": 4, "bar": 2};
+ core::int notSpreadInt = 42;
+ () →? core::int notSpreadFunction = null;
+ core::Map<core::int, core::num> mapIntNum = <core::int, core::num>{42: 42};
+ core::List<core::num> listNum = <core::num>[42];
+ core::List<dynamic> lhs10 = block {
+ final core::List<dynamic> #t1 = core::List::of<dynamic>(<dynamic>[]);
+ } =>#t1;
+ core::Set<dynamic> set10 = block {
+ final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
+ } =>#t2;
+ core::Map<dynamic, dynamic> map10 = block {
+ final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ } =>#t3;
+ core::Map<dynamic, dynamic> map10ambiguous = block {
+ final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ } =>#t5;
+ core::List<core::int> lhs20 = block {
+ final core::List<core::int> #t7 = core::List::of<core::int>(spread);
+ } =>#t7;
+ core::Set<core::int> set20 = block {
+ final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
+ #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t8;
+ core::Set<core::int> set20ambiguous = block {
+ final core::Set<core::int> #t9 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t10 in spread) {
+ final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
+ #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
+ }
+ } =>#t9;
+ core::Map<core::String, core::int> map20 = block {
+ final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t12;
+ core::Map<core::String, core::int> map20ambiguous = block {
+ final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t14;
+ core::List<dynamic> lhs21 = block {
+ final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ } =>#t16;
+ core::Set<dynamic> set21 = block {
+ final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+ } =>#t17;
+ core::Map<dynamic, dynamic> map21 = block {
+ final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t19 in ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+ } =>#t18;
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+Try providing type arguments for the literal explicitly to disambiguate it.
+ dynamic map21ambiguous = {...(mapSpread as dynamic)};
+ ^";
+ core::List<core::int> lhs22 = block {
+ final core::List<core::int> #t20 = core::List::of<core::int>(<core::int>[]);
+ } =>#t20;
+ core::Set<core::int> set22 = block {
+ final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+ #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t21;
+ core::Set<core::int> set22ambiguous = block {
+ final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t23 in <core::int>[]) {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+ }
+ } =>#t22;
+ core::Map<core::String, core::int> map22 = block {
+ final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t26 in <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t25;
+ core::List<core::List<core::int>> lhs23 = block {
+ final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+ } =>#t27;
+ core::Set<core::List<core::int>> set23 = block {
+ final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+ #t28.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
+ } =>#t28;
+ core::Set<core::List<core::int>> set23ambiguous = block {
+ final core::Set<core::List<core::int>> #t29 = col::LinkedHashSet::•<core::List<core::int>>();
+ for (final dynamic #t30 in <core::List<core::int>>[<core::int>[]]) {
+ final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
+ #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
+ }
+ } =>#t29;
+ core::Map<core::String, core::List<core::int>> map23 = block {
+ final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
+ for (final core::MapEntry<core::String, core::List<core::int>> #t33 in <core::String, core::List<core::int>>{"baz": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>})
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
+ } =>#t32;
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = {...spread, ...mapSpread};
+ ^";
+ core::int lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ - 'List' is from 'dart:core'.
+ int lhs30 = /*@typeArgs=int*/ [...spread];
+ ^" in ( block {
+ final core::List<core::int> #t34 = core::List::of<core::int>(spread);
+ } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ int set30 = /*@typeArgs=int*/ {...spread, 42};
+ ^" in ( block {
+ final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
+ #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ {...spread};
+ ^" in ( block {
+ final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t37 in spread) {
+ final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
+ #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
+ }
+ } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread, \"baz\": 42};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+ core::List<dynamic> lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+ ^"];
+ core::Set<dynamic> set40 = block {
+ final core::Set<dynamic> #t43 = col::LinkedHashSet::•<dynamic>();
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+ ^"){(dynamic) → core::bool};
+ } =>#t43;
+ core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+ ^": null};
+ core::List<dynamic> lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+ ^"];
+ core::Set<dynamic> set50 = block {
+ final core::Set<dynamic> #t44 = col::LinkedHashSet::•<dynamic>();
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+ ^"){(dynamic) → core::bool};
+ } =>#t44;
+ core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+ ^": null};
+ core::List<core::String> lhs60 = <core::String>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ List<String> lhs60 = <String>[...spread];
+ ^"];
+ core::Set<core::String> set60 = block {
+ final core::Set<core::String> #t45 = col::LinkedHashSet::•<core::String>();
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ Set<String> set60 = <String>{...spread};
+ ^"){(core::String) → core::bool};
+ } =>#t45;
+ core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ Map<int, int> map60 = <int, int>{...mapSpread};
+ ^": null};
+ core::Map<core::String, core::String> map61 = <core::String, core::String>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ Map<String, String> map61 = <String, String>{...mapSpread};
+ ^"};
+ core::List<core::int> lhs70 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+ List<int> lhs70 = <int>[...null];
+ ^"];
+ core::Set<core::int> set70 = block {
+ final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+ Set<int> set70 = <int>{...null};
+ ^"){(core::int) → core::bool};
+ } =>#t46;
+ core::Set<dynamic> set71ambiguous = block {
+ final core::Set<dynamic> #t47 = col::LinkedHashSet::•<dynamic>();
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+ ...null,
+ ^"){(dynamic) → core::bool};
+ for (final dynamic #t48 in <dynamic>[]) {
+ final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
+ }
+ } =>#t47;
+ core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+ Map<String, int> map70 = <String, int>{...null};
+ ^": null};
+ core::List<core::int> lhs80 = block {
+ final core::List<core::int> #t50 = <core::int>[];
+ final core::Iterable<core::int>? #t51 = null;
+ if(!(#t51 == null))
+ #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t50;
+ core::Set<core::int> set80 = block {
+ final core::Set<core::int> #t52 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<core::int>? #t53 = null;
+ if(!(#t53 == null))
+ #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t52;
+ core::Set<dynamic> set81ambiguous = block {
+ final core::Set<dynamic> #t54 = col::LinkedHashSet::•<dynamic>();
+ final core::Iterable<dynamic>? #t55 = null;
+ if(!(#t55 == null))
+ for (final dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+ final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
+ }
+ for (final dynamic #t58 in <dynamic>[]) {
+ final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
+ }
+ } =>#t54;
+ core::Map<core::String, core::int> map80 = block {
+ final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
+ final core::Map<core::String, core::int>? #t61 = null;
+ if(!(#t61 == null))
+ for (final core::MapEntry<core::String, core::int> #t62 in #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t60;
+ core::Map<core::String, core::int> map90 = block {
+ final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t64 in self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t63;
+ core::List<core::int> list100 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+ List<int> list100 = <int>[...listNum];
+ ^"];
+ core::Map<core::num, core::int> map100 = <core::num, core::int>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+ Map<num, int> map100 = <num, int>{...mapIntNum};
+ ^"};
+ core::List<core::int> list110 = block {
+ final core::List<core::int> #t65 = <core::int>[];
+ for (final dynamic #t66 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+ final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+ }
+ } =>#t65;
+ core::Map<core::num, core::int> map110 = block {
+ final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
+ for (final core::MapEntry<dynamic, dynamic> #t69 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
+ final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+ final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+ #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+ }
+ } =>#t68;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect
new file mode 100644
index 0000000..a27706e
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect
@@ -0,0 +1,383 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// Try providing type arguments for the literal explicitly to disambiguate it.
+// dynamic map21ambiguous = {...(mapSpread as dynamic)};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// dynamic map24ambiguous = {...spread, ...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// - 'List' is from 'dart:core'.
+// int lhs30 = /*@typeArgs=int*/ [...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// int set30 = /*@typeArgs=int*/ {...spread, 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// {...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread, "baz": 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// List<String> lhs60 = <String>[...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// Set<String> set60 = <String>{...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// Map<int, int> map60 = <int, int>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// Map<String, String> map61 = <String, String>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+// List<int> lhs70 = <int>[...null];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+// Set<int> set70 = <int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+// ...null,
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+// Map<String, int> map70 = <String, int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+// List<int> list100 = <int>[...listNum];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+// Map<num, int> map100 = <num, int>{...mapIntNum};
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method bar<K extends core::Object? = dynamic, V extends core::Object? = dynamic>() → core::Map<self::bar::K%, self::bar::V%>
+ return throw "";
+static method foo(dynamic dynVar) → dynamic {
+ core::List<core::int> spread = <core::int>[1, 2, 3];
+ core::Map<core::String, core::int> mapSpread = <core::String, core::int>{"foo": 4, "bar": 2};
+ core::int notSpreadInt = 42;
+ () →? core::int notSpreadFunction = null;
+ core::Map<core::int, core::num> mapIntNum = <core::int, core::num>{42: 42};
+ core::List<core::num> listNum = <core::num>[42];
+ core::List<dynamic> lhs10 = block {
+ final core::List<dynamic> #t1 = core::List::of<dynamic>(<dynamic>[]);
+ } =>#t1;
+ core::Set<dynamic> set10 = block {
+ final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
+ } =>#t2;
+ core::Map<dynamic, dynamic> map10 = block {
+ final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ } =>#t3;
+ core::Map<dynamic, dynamic> map10ambiguous = block {
+ final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ } =>#t5;
+ core::List<core::int> lhs20 = block {
+ final core::List<core::int> #t7 = core::List::of<core::int>(spread);
+ } =>#t7;
+ core::Set<core::int> set20 = block {
+ final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
+ #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t8;
+ core::Set<core::int> set20ambiguous = block {
+ final core::Set<core::int> #t9 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t10 in spread) {
+ final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
+ #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
+ }
+ } =>#t9;
+ core::Map<core::String, core::int> map20 = block {
+ final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t12;
+ core::Map<core::String, core::int> map20ambiguous = block {
+ final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t14;
+ core::List<dynamic> lhs21 = block {
+ final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ } =>#t16;
+ core::Set<dynamic> set21 = block {
+ final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+ } =>#t17;
+ core::Map<dynamic, dynamic> map21 = block {
+ final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
+ for (final core::MapEntry<dynamic, dynamic> #t19 in ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+ } =>#t18;
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+Try providing type arguments for the literal explicitly to disambiguate it.
+ dynamic map21ambiguous = {...(mapSpread as dynamic)};
+ ^";
+ core::List<core::int> lhs22 = block {
+ final core::List<core::int> #t20 = core::List::of<core::int>(<core::int>[]);
+ } =>#t20;
+ core::Set<core::int> set22 = block {
+ final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+ #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t21;
+ core::Set<core::int> set22ambiguous = block {
+ final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t23 in <core::int>[]) {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+ }
+ } =>#t22;
+ core::Map<core::String, core::int> map22 = block {
+ final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t26 in <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t25;
+ core::List<core::List<core::int>> lhs23 = block {
+ final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+ } =>#t27;
+ core::Set<core::List<core::int>> set23 = block {
+ final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+ #t28.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
+ } =>#t28;
+ core::Set<core::List<core::int>> set23ambiguous = block {
+ final core::Set<core::List<core::int>> #t29 = col::LinkedHashSet::•<core::List<core::int>>();
+ for (final dynamic #t30 in <core::List<core::int>>[<core::int>[]]) {
+ final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
+ #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
+ }
+ } =>#t29;
+ core::Map<core::String, core::List<core::int>> map23 = block {
+ final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
+ for (final core::MapEntry<core::String, core::List<core::int>> #t33 in <core::String, core::List<core::int>>{"baz": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>})
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
+ } =>#t32;
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = {...spread, ...mapSpread};
+ ^";
+ core::int lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ - 'List' is from 'dart:core'.
+ int lhs30 = /*@typeArgs=int*/ [...spread];
+ ^" in ( block {
+ final core::List<core::int> #t34 = core::List::of<core::int>(spread);
+ } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ int set30 = /*@typeArgs=int*/ {...spread, 42};
+ ^" in ( block {
+ final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
+ #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ {...spread};
+ ^" in ( block {
+ final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
+ for (final dynamic #t37 in spread) {
+ final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
+ #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
+ }
+ } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread, \"baz\": 42};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+ core::List<dynamic> lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+ ^"];
+ core::Set<dynamic> set40 = block {
+ final core::Set<dynamic> #t43 = col::LinkedHashSet::•<dynamic>();
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+ ^"){(dynamic) → core::bool};
+ } =>#t43;
+ core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+ ^": null};
+ core::List<dynamic> lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+ ^"];
+ core::Set<dynamic> set50 = block {
+ final core::Set<dynamic> #t44 = col::LinkedHashSet::•<dynamic>();
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+ ^"){(dynamic) → core::bool};
+ } =>#t44;
+ core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+ ^": null};
+ core::List<core::String> lhs60 = <core::String>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ List<String> lhs60 = <String>[...spread];
+ ^"];
+ core::Set<core::String> set60 = block {
+ final core::Set<core::String> #t45 = col::LinkedHashSet::•<core::String>();
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ Set<String> set60 = <String>{...spread};
+ ^"){(core::String) → core::bool};
+ } =>#t45;
+ core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ Map<int, int> map60 = <int, int>{...mapSpread};
+ ^": null};
+ core::Map<core::String, core::String> map61 = <core::String, core::String>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ Map<String, String> map61 = <String, String>{...mapSpread};
+ ^"};
+ core::List<core::int> lhs70 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+ List<int> lhs70 = <int>[...null];
+ ^"];
+ core::Set<core::int> set70 = block {
+ final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+ Set<int> set70 = <int>{...null};
+ ^"){(core::int) → core::bool};
+ } =>#t46;
+ core::Set<dynamic> set71ambiguous = block {
+ final core::Set<dynamic> #t47 = col::LinkedHashSet::•<dynamic>();
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+ ...null,
+ ^"){(dynamic) → core::bool};
+ for (final dynamic #t48 in <dynamic>[]) {
+ final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
+ }
+ } =>#t47;
+ core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+ Map<String, int> map70 = <String, int>{...null};
+ ^": null};
+ core::List<core::int> lhs80 = block {
+ final core::List<core::int> #t50 = <core::int>[];
+ final core::Iterable<core::int>? #t51 = null;
+ if(!(#t51 == null))
+ #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t50;
+ core::Set<core::int> set80 = block {
+ final core::Set<core::int> #t52 = col::LinkedHashSet::•<core::int>();
+ final core::Iterable<core::int>? #t53 = null;
+ if(!(#t53 == null))
+ #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t52;
+ core::Set<dynamic> set81ambiguous = block {
+ final core::Set<dynamic> #t54 = col::LinkedHashSet::•<dynamic>();
+ final core::Iterable<dynamic>? #t55 = null;
+ if(!(#t55 == null))
+ for (final dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+ final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
+ }
+ for (final dynamic #t58 in <dynamic>[]) {
+ final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
+ }
+ } =>#t54;
+ core::Map<core::String, core::int> map80 = block {
+ final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
+ final core::Map<core::String, core::int>? #t61 = null;
+ if(!(#t61 == null))
+ for (final core::MapEntry<core::String, core::int> #t62 in #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t60;
+ core::Map<core::String, core::int> map90 = block {
+ final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
+ for (final core::MapEntry<core::String, core::int> #t64 in self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
+ #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ } =>#t63;
+ core::List<core::int> list100 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+ List<int> list100 = <int>[...listNum];
+ ^"];
+ core::Map<core::num, core::int> map100 = <core::num, core::int>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+ Map<num, int> map100 = <num, int>{...mapIntNum};
+ ^"};
+ core::List<core::int> list110 = block {
+ final core::List<core::int> #t65 = <core::int>[];
+ for (final dynamic #t66 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+ final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+ }
+ } =>#t65;
+ core::Map<core::num, core::int> map110 = block {
+ final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
+ for (final core::MapEntry<dynamic, dynamic> #t69 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
+ final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+ final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+ #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+ }
+ } =>#t68;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.outline.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.outline.expect
new file mode 100644
index 0000000..52e6295
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method bar<K extends core::Object? = dynamic, V extends core::Object? = dynamic>() → core::Map<self::bar::K%, self::bar::V%>
+ ;
+static method foo(dynamic dynVar) → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect
new file mode 100644
index 0000000..9bdd143
--- /dev/null
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect
@@ -0,0 +1,490 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+// Try providing type arguments for the literal explicitly to disambiguate it.
+// dynamic map21ambiguous = {...(mapSpread as dynamic)};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// dynamic map24ambiguous = {...spread, ...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+// - 'List' is from 'dart:core'.
+// int lhs30 = /*@typeArgs=int*/ [...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// int set30 = /*@typeArgs=int*/ {...spread, 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+// - 'Set' is from 'dart:core'.
+// {...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread, "baz": 42};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+// - 'Map' is from 'dart:core'.
+// {...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+// Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+// Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// List<String> lhs60 = <String>[...spread];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+// Set<String> set60 = <String>{...spread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+// Map<int, int> map60 = <int, int>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+// Map<String, String> map61 = <String, String>{...mapSpread};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+// List<int> lhs70 = <int>[...null];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+// Set<int> set70 = <int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+// ...null,
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+// Map<String, int> map70 = <String, int>{...null};
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+// List<int> list100 = <int>[...listNum];
+// ^
+//
+// pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+// Map<num, int> map100 = <num, int>{...mapIntNum};
+// ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method bar<K extends core::Object? = dynamic, V extends core::Object? = dynamic>() → core::Map<self::bar::K%, self::bar::V%>
+ return throw "";
+static method foo(dynamic dynVar) → dynamic {
+ core::List<core::int> spread = core::_GrowableList::_literal3<core::int>(1, 2, 3);
+ core::Map<core::String, core::int> mapSpread = <core::String, core::int>{"foo": 4, "bar": 2};
+ core::int notSpreadInt = 42;
+ () →? core::int notSpreadFunction = null;
+ core::Map<core::int, core::num> mapIntNum = <core::int, core::num>{42: 42};
+ core::List<core::num> listNum = core::_GrowableList::_literal1<core::num>(42);
+ core::List<dynamic> lhs10 = block {
+ final core::List<dynamic> #t1 = core::List::of<dynamic>(core::_GrowableList::•<dynamic>(0));
+ } =>#t1;
+ core::Set<dynamic> set10 = block {
+ final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(core::_GrowableList::•<dynamic>(0));
+ } =>#t2;
+ core::Map<dynamic, dynamic> map10 = block {
+ final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
+ {
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+ #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ }
+ }
+ } =>#t3;
+ core::Map<dynamic, dynamic> map10ambiguous = block {
+ final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
+ {
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+ #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ }
+ }
+ } =>#t5;
+ core::List<core::int> lhs20 = block {
+ final core::List<core::int> #t7 = core::List::of<core::int>(spread);
+ } =>#t7;
+ core::Set<core::int> set20 = block {
+ final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
+ #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t8;
+ core::Set<core::int> set20ambiguous = block {
+ final core::Set<core::int> #t9 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ core::Iterator<core::int> :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::int};
+ {
+ final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
+ #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
+ }
+ }
+ }
+ } =>#t9;
+ core::Map<core::String, core::int> map20 = block {
+ final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t12;
+ core::Map<core::String, core::int> map20ambiguous = block {
+ final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ } =>#t14;
+ core::List<dynamic> lhs21 = block {
+ final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ } =>#t16;
+ core::Set<dynamic> set21 = block {
+ final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+ #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+ } =>#t17;
+ core::Map<dynamic, dynamic> map21 = block {
+ final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
+ {
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+ #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+ }
+ }
+ #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+ } =>#t18;
+ dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
+Try providing type arguments for the literal explicitly to disambiguate it.
+ dynamic map21ambiguous = {...(mapSpread as dynamic)};
+ ^";
+ core::List<core::int> lhs22 = block {
+ final core::List<core::int> #t20 = core::List::of<core::int>(core::_GrowableList::•<core::int>(0));
+ } =>#t20;
+ core::Set<core::int> set22 = block {
+ final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(core::_GrowableList::•<core::int>(0));
+ #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t21;
+ core::Set<core::int> set22ambiguous = block {
+ final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{core::int};
+ {
+ final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+ #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+ }
+ }
+ }
+ } =>#t22;
+ core::Map<core::String, core::int> map22 = block {
+ final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t26 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ } =>#t25;
+ core::List<core::List<core::int>> lhs23 = block {
+ final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
+ } =>#t27;
+ core::Set<core::List<core::int>> set23 = block {
+ final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
+ #t28.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → core::bool};
+ } =>#t28;
+ core::Set<core::List<core::int>> set23ambiguous = block {
+ final core::Set<core::List<core::int>> #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
+ {
+ core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>};
+ {
+ final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
+ #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
+ }
+ }
+ }
+ } =>#t29;
+ core::Map<core::String, core::List<core::int>> map23 = block {
+ final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::List<core::int>>> :sync-for-iterator = <core::String, core::List<core::int>>{"baz": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::List<core::int>> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>>};
+ #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
+ }
+ }
+ } =>#t32;
+ dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+ dynamic map24ambiguous = {...spread, ...mapSpread};
+ ^";
+ core::int lhs30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:94:33: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
+ - 'List' is from 'dart:core'.
+ int lhs30 = /*@typeArgs=int*/ [...spread];
+ ^" in ( block {
+ final core::List<core::int> #t34 = core::List::of<core::int>(spread);
+ } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ int set30 = /*@typeArgs=int*/ {...spread, 42};
+ ^" in ( block {
+ final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
+ #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+ } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
+ - 'Set' is from 'dart:core'.
+ {...spread};
+ ^" in ( block {
+ final core::Set<core::int> #t36 = new col::_CompactLinkedHashSet::•<core::int>();
+ {
+ core::Iterator<core::int> :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t37 = :sync-for-iterator.{core::Iterator::current}{core::int};
+ {
+ final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
+ #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
+ }
+ }
+ }
+ } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread, \"baz\": 42};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t40 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+ } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+ core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
+ - 'Map' is from 'dart:core'.
+ {...mapSpread};
+ ^" in ( block {
+ final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t42 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+ core::List<dynamic> lhs40 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
+ ^");
+ core::Set<dynamic> set40 = block {
+ final core::Set<dynamic> #t43 = new col::_CompactLinkedHashSet::•<dynamic>();
+ #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set40 = <dynamic>{...notSpreadInt};
+ ^"){(dynamic) → core::bool};
+ } =>#t43;
+ core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
+ ^": null};
+ core::List<dynamic> lhs50 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:113:38: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
+ ^");
+ core::Set<dynamic> set50 = block {
+ final core::Set<dynamic> #t44 = new col::_CompactLinkedHashSet::•<dynamic>();
+ #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread. Expected 'dynamic' or an Iterable.
+ Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
+ ^"){(dynamic) → core::bool};
+ } =>#t44;
+ core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry. Expected 'dynamic' or a Map.
+ Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
+ ^": null};
+ core::List<core::String> lhs60 = core::_GrowableList::_literal1<core::String>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:119:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ List<String> lhs60 = <String>[...spread];
+ ^");
+ core::Set<core::String> set60 = block {
+ final core::Set<core::String> #t45 = new col::_CompactLinkedHashSet::•<core::String>();
+ #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+ Set<String> set60 = <String>{...spread};
+ ^"){(core::String) → core::bool};
+ } =>#t45;
+ core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
+ Map<int, int> map60 = <int, int>{...mapSpread};
+ ^": null};
+ core::Map<core::String, core::String> map61 = <core::String, core::String>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:125:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
+ Map<String, String> map61 = <String, String>{...mapSpread};
+ ^"};
+ core::List<core::int> lhs70 = core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:127:30: Error: Can't spread a value with static type 'Null'.
+ List<int> lhs70 = <int>[...null];
+ ^");
+ core::Set<core::int> set70 = block {
+ final core::Set<core::int> #t46 = new col::_CompactLinkedHashSet::•<core::int>();
+ #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+ Set<int> set70 = <int>{...null};
+ ^"){(core::int) → core::bool};
+ } =>#t46;
+ core::Set<dynamic> set71ambiguous = block {
+ final core::Set<dynamic> #t47 = new col::_CompactLinkedHashSet::•<dynamic>();
+ #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+ ...null,
+ ^"){(dynamic) → core::bool};
+ {
+ core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t48 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+ {
+ final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
+ }
+ }
+ }
+ } =>#t47;
+ core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
+ Map<String, int> map70 = <String, int>{...null};
+ ^": null};
+ core::List<core::int> lhs80 = block {
+ final core::List<core::int> #t50 = core::_GrowableList::•<core::int>(0);
+ final core::Iterable<core::int>? #t51 = null;
+ if(!(#t51 == null))
+ #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t50;
+ core::Set<core::int> set80 = block {
+ final core::Set<core::int> #t52 = new col::_CompactLinkedHashSet::•<core::int>();
+ final core::Iterable<core::int>? #t53 = null;
+ if(!(#t53 == null))
+ #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ } =>#t52;
+ core::Set<dynamic> set81ambiguous = block {
+ final core::Set<dynamic> #t54 = new col::_CompactLinkedHashSet::•<dynamic>();
+ final core::Iterable<dynamic>? #t55 = null;
+ if(!(#t55 == null)) {
+ core::Iterator<dynamic> :sync-for-iterator = #t55{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+ {
+ final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
+ }
+ }
+ }
+ {
+ core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+ {
+ final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
+ #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
+ }
+ }
+ }
+ } =>#t54;
+ core::Map<core::String, core::int> map80 = block {
+ final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
+ final core::Map<core::String, core::int>? #t61 = null;
+ if(!(#t61 == null)) {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t62 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ } =>#t60;
+ core::Map<core::String, core::int> map90 = block {
+ final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t64 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
+ #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+ }
+ }
+ } =>#t63;
+ core::List<core::int> list100 = core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
+ List<int> list100 = <int>[...listNum];
+ ^");
+ core::Map<core::num, core::int> map100 = <core::num, core::int>{null: invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:155:40: Error: Can't assign spread entry values of type 'num' to map entry values of type 'int'.
+ Map<num, int> map100 = <num, int>{...mapIntNum};
+ ^"};
+ core::List<core::int> list110 = block {
+ final core::List<core::int> #t65 = core::_GrowableList::•<core::int>(0);
+ {
+ core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+ {
+ final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
+ #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+ }
+ }
+ }
+ } =>#t65;
+ core::Map<core::num, core::int> map110 = block {
+ final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
+ {
+ core::Iterator<core::MapEntry<core::num, core::int>> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t69 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::int>};
+ {
+ final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+ final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+ #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+ }
+ }
+ }
+ } =>#t68;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/statements.dart b/pkg/front_end/testcases/general/statements.dart
index 6121514..e12e2fc 100644
--- a/pkg/front_end/testcases/general/statements.dart
+++ b/pkg/front_end/testcases/general/statements.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2016, 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.
-// @dart=2.9
+
foo() {
try {
return;
diff --git a/pkg/front_end/testcases/general/statements.dart.textual_outline.expect b/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
index b23d16d..2431514 100644
--- a/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
foo() {}
bar(d) async* {}
main() {}
diff --git a/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
index 77069be..3453492 100644
--- a/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
bar(d) async* {}
foo() {}
main() {}
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.expect b/pkg/front_end/testcases/general/statements.dart.weak.expect
index 8d3c256..8e6804c 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
@@ -12,9 +12,9 @@
}
}
static method bar(dynamic d) → dynamic async* {
- await for (dynamic x in d as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+ await for (dynamic x in d as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>) {
yield x;
- yield* x as{TypeError,ForDynamic} asy::Stream<dynamic>*;
+ yield* x as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
}
}
static method main() → dynamic {
@@ -26,10 +26,10 @@
void x = core::print("Hello from do-while!");
}
while (false)
- for (core::String* s in <core::String*>["Hello from for-in!"]) {
+ for (core::String s in <core::String>["Hello from for-in!"]) {
core::print(s);
}
- for (core::String* s in <core::String*>["Hello from for-in without block!"])
+ for (core::String s in <core::String>["Hello from for-in without block!"])
core::print(s);
dynamic s;
for (final dynamic #t1 in <dynamic>["Hello from for-in without decl!"]) {
@@ -45,15 +45,15 @@
try {
throw "Hello from rethrow!";
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
rethrow;
}
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
self::foo();
- core::bool* done = false;
+ core::bool done = false;
while (!done) {
done = true;
core::print("Hello from while!");
@@ -64,7 +64,7 @@
try {
assert(false, "Hello from assert!");
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
#L1:
@@ -128,13 +128,13 @@
continue #L11;
}
}
- core::int* i = 0;
+ core::int i = 0;
#L13:
do
#L14:
{
core::print("Hello from do-while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
}
@@ -145,7 +145,7 @@
#L16:
{
core::print("Hello from while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L16;
break #L15;
}
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.modular.expect b/pkg/front_end/testcases/general/statements.dart.weak.modular.expect
index 8d3c256..8e6804c 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
@@ -12,9 +12,9 @@
}
}
static method bar(dynamic d) → dynamic async* {
- await for (dynamic x in d as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+ await for (dynamic x in d as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>) {
yield x;
- yield* x as{TypeError,ForDynamic} asy::Stream<dynamic>*;
+ yield* x as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
}
}
static method main() → dynamic {
@@ -26,10 +26,10 @@
void x = core::print("Hello from do-while!");
}
while (false)
- for (core::String* s in <core::String*>["Hello from for-in!"]) {
+ for (core::String s in <core::String>["Hello from for-in!"]) {
core::print(s);
}
- for (core::String* s in <core::String*>["Hello from for-in without block!"])
+ for (core::String s in <core::String>["Hello from for-in without block!"])
core::print(s);
dynamic s;
for (final dynamic #t1 in <dynamic>["Hello from for-in without decl!"]) {
@@ -45,15 +45,15 @@
try {
throw "Hello from rethrow!";
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
rethrow;
}
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
self::foo();
- core::bool* done = false;
+ core::bool done = false;
while (!done) {
done = true;
core::print("Hello from while!");
@@ -64,7 +64,7 @@
try {
assert(false, "Hello from assert!");
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
#L1:
@@ -128,13 +128,13 @@
continue #L11;
}
}
- core::int* i = 0;
+ core::int i = 0;
#L13:
do
#L14:
{
core::print("Hello from do-while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L14;
break #L13;
}
@@ -145,7 +145,7 @@
#L16:
{
core::print("Hello from while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L16;
break #L15;
}
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.outline.expect b/pkg/front_end/testcases/general/statements.dart.weak.outline.expect
index d66ca8e..233d838 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method foo() → dynamic
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
index 522ac94..012142b 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
@@ -13,11 +13,11 @@
}
}
static method bar(dynamic d) → dynamic /* originally async* */ {
- asy::_AsyncStarStreamController<dynamic>* :controller;
+ asy::_AsyncStarStreamController<dynamic>? :controller;
dynamic :controller_stream;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
@@ -30,8 +30,8 @@
#L1:
{
{
- asy::Stream<dynamic>* :stream = d as{TypeError,ForDynamic} asy::Stream<dynamic>*;
- asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
+ asy::Stream<dynamic> :stream = d as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
+ asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
try
#L2:
while (true) {
@@ -44,7 +44,7 @@
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(x as{TypeError,ForDynamic} asy::Stream<dynamic>*){(asy::Stream<dynamic>) → core::bool})
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(x as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>){(asy::Stream<dynamic>) → core::bool})
return null;
else
[yield] null;
@@ -62,7 +62,7 @@
}
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
:controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
@@ -84,24 +84,24 @@
}
while (false)
{
- core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in!").{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("Hello from for-in!").{core::Iterable::iterator}{core::Iterator<core::String>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
- core::String* s = :sync-for-iterator.{core::Iterator::current}{core::String*};
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
}
}
{
- core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in without block!").{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("Hello from for-in without block!").{core::Iterable::iterator}{core::Iterator<core::String>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
- core::String* s = :sync-for-iterator.{core::Iterator::current}{core::String*};
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
core::print(s);
}
}
dynamic s;
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl!").{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl!").{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
@@ -111,7 +111,7 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl and block!").{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl and block!").{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
@@ -125,15 +125,15 @@
try {
throw "Hello from rethrow!";
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
rethrow;
}
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
self::foo();
- core::bool* done = false;
+ core::bool done = false;
while (!done) {
done = true;
core::print("Hello from while!");
@@ -144,7 +144,7 @@
try {
assert(false, "Hello from assert!");
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
}
#L3:
@@ -208,13 +208,13 @@
continue #L13;
}
}
- core::int* i = 0;
+ core::int i = 0;
#L15:
do
#L16:
{
core::print("Hello from do-while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L16;
break #L15;
}
@@ -225,7 +225,7 @@
#L18:
{
core::print("Hello from while!");
- if((i = i.{core::num::+}(1){(core::num*) →* core::int*}).{core::num::<}(3){(core::num*) →* core::bool*})
+ if((i = i.{core::num::+}(1){(core::num) → core::int}).{core::num::<}(3){(core::num) → core::bool})
break #L18;
break #L17;
}
diff --git a/pkg/front_end/testcases/general/static_setter.dart b/pkg/front_end/testcases/general/static_setter.dart
index e773018..4a9392b 100644
--- a/pkg/front_end/testcases/general/static_setter.dart
+++ b/pkg/front_end/testcases/general/static_setter.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, 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.
-// @dart=2.9
+
class Foo {}
set foo(x) {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect b/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
index 73b630c..e45f3a8 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {}
set foo(x) {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
index 73ad9d4..cad463e 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {}
main() {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.weak.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.expect
index 33c8de3..1429577 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.weak.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static set foo(dynamic x) → void {}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/static_setter.dart.weak.modular.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.modular.expect
index 33c8de3..1429577 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.weak.modular.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static set foo(dynamic x) → void {}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect
index 950e232..f2d4094 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static set foo(dynamic x) → void
;
diff --git a/pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect
index 33c8de3..1429577 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static set foo(dynamic x) → void {}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/store_load.dart b/pkg/front_end/testcases/general/store_load.dart
index 1edbe1c8..7f8e421 100644
--- a/pkg/front_end/testcases/general/store_load.dart
+++ b/pkg/front_end/testcases/general/store_load.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
class Foo {
var _field;
}
diff --git a/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect b/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
index d97c46e..12677c1 100644
--- a/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo {
var _field;
}
diff --git a/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
index aeef11b..d24c44c 100644
--- a/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Bar {
var _field;
}
diff --git a/pkg/front_end/testcases/general/store_load.dart.weak.expect b/pkg/front_end/testcases/general/store_load.dart.weak.expect
index b5b20a2..5fe805c 100644
--- a/pkg/front_end/testcases/general/store_load.dart.weak.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.weak.expect
@@ -1,75 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FooValue extends core::Object {
- synthetic constructor •() → self::FooValue*
+ synthetic constructor •() → self::FooValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class BarValue extends core::Object {
- synthetic constructor •() → self::BarValue*
+ synthetic constructor •() → self::BarValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
foo.{self::Foo::_field} = new self::FooValue::•();
dynamic fooValue = foo.{self::Foo::_field}{dynamic};
core::print(fooValue);
- self::Bar* bar = new self::Bar::•();
+ self::Bar bar = new self::Bar::•();
bar.{self::Bar::_field} = new self::BarValue::•();
dynamic barValue = bar.{self::Bar::_field}{dynamic};
core::print(barValue);
diff --git a/pkg/front_end/testcases/general/store_load.dart.weak.modular.expect b/pkg/front_end/testcases/general/store_load.dart.weak.modular.expect
index b5b20a2..5fe805c 100644
--- a/pkg/front_end/testcases/general/store_load.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.weak.modular.expect
@@ -1,75 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FooValue extends core::Object {
- synthetic constructor •() → self::FooValue*
+ synthetic constructor •() → self::FooValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class BarValue extends core::Object {
- synthetic constructor •() → self::BarValue*
+ synthetic constructor •() → self::BarValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
foo.{self::Foo::_field} = new self::FooValue::•();
dynamic fooValue = foo.{self::Foo::_field}{dynamic};
core::print(fooValue);
- self::Bar* bar = new self::Bar::•();
+ self::Bar bar = new self::Bar::•();
bar.{self::Bar::_field} = new self::BarValue::•();
dynamic barValue = bar.{self::Bar::_field}{dynamic};
core::print(barValue);
diff --git a/pkg/front_end/testcases/general/store_load.dart.weak.outline.expect b/pkg/front_end/testcases/general/store_load.dart.weak.outline.expect
index 6aaf967..8e799c2 100644
--- a/pkg/front_end/testcases/general/store_load.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.weak.outline.expect
@@ -1,64 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
field dynamic _field;
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FooValue extends core::Object {
- synthetic constructor •() → self::FooValue*
+ synthetic constructor •() → self::FooValue
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends core::Object {
field dynamic _field;
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class BarValue extends core::Object {
- synthetic constructor •() → self::BarValue*
+ synthetic constructor •() → self::BarValue
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect b/pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect
index b5b20a2..5fe805c 100644
--- a/pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect
@@ -1,75 +1,35 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FooValue extends core::Object {
- synthetic constructor •() → self::FooValue*
+ synthetic constructor •() → self::FooValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends core::Object {
field dynamic _field = null;
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class BarValue extends core::Object {
- synthetic constructor •() → self::BarValue*
+ synthetic constructor •() → self::BarValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::Foo* foo = new self::Foo::•();
+ self::Foo foo = new self::Foo::•();
foo.{self::Foo::_field} = new self::FooValue::•();
dynamic fooValue = foo.{self::Foo::_field}{dynamic};
core::print(fooValue);
- self::Bar* bar = new self::Bar::•();
+ self::Bar bar = new self::Bar::•();
bar.{self::Bar::_field} = new self::BarValue::•();
dynamic barValue = bar.{self::Bar::_field}{dynamic};
core::print(barValue);
diff --git a/pkg/front_end/testcases/general/stream_future.dart b/pkg/front_end/testcases/general/stream_future.dart
index 213cc5d..8904ea0 100644
--- a/pkg/front_end/testcases/general/stream_future.dart
+++ b/pkg/front_end/testcases/general/stream_future.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
import 'dart:async';
class Class {}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect b/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
index 58da8eb..b720b02 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'dart:async';
class Class {}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
index 3799403..38f650e 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'dart:async';
Class returnClass() => new Class();
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.expect
index 2914b7b..b2cbd2b 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,42 +15,32 @@
import "dart:async";
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method returnDynamic() → dynamic
return new self::Class::•();
-static method returnClass() → self::Class*
+static method returnClass() → self::Class
return new self::Class::•();
-static method returnFutureDynamic() → asy::Future<dynamic>* async
+static method returnFutureDynamic() → asy::Future<dynamic> async
return new self::Class::•();
-static method returnFutureClass() → asy::Future<self::Class*>* async
+static method returnFutureClass() → asy::Future<self::Class> async
return new self::Class::•();
-static method error() → asy::Stream<FutureOr<self::Class*>*>* async* {
+static method error() → asy::Stream<FutureOr<self::Class>> async* {
yield invalid-expression "pkg/front_end/testcases/general/stream_future.dart:18:9: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'FutureOr<Class>'.
- 'Future' is from 'dart:async'.
- 'Class' is from 'pkg/front_end/testcases/general/stream_future.dart'.
yield returnFutureDynamic();
- ^" in self::returnFutureDynamic() as{TypeError} FutureOr<self::Class*>*;
+ ^" in self::returnFutureDynamic() as{TypeError,ForNonNullableByDefault} FutureOr<self::Class>;
}
-static method stream() → asy::Stream<FutureOr<self::Class*>*>* async* {
- yield self::returnDynamic() as{TypeError,ForDynamic} FutureOr<self::Class*>*;
+static method stream() → asy::Stream<FutureOr<self::Class>> async* {
+ yield self::returnDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<self::Class>;
yield self::returnClass();
yield self::returnFutureClass();
}
static method main() → dynamic async {
- await for (FutureOr<self::Class*>* cls in self::stream()) {
+ await for (FutureOr<self::Class>cls in self::stream()) {
core::print(cls);
}
}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.modular.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.modular.expect
index 2914b7b..b2cbd2b 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -15,42 +15,32 @@
import "dart:async";
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method returnDynamic() → dynamic
return new self::Class::•();
-static method returnClass() → self::Class*
+static method returnClass() → self::Class
return new self::Class::•();
-static method returnFutureDynamic() → asy::Future<dynamic>* async
+static method returnFutureDynamic() → asy::Future<dynamic> async
return new self::Class::•();
-static method returnFutureClass() → asy::Future<self::Class*>* async
+static method returnFutureClass() → asy::Future<self::Class> async
return new self::Class::•();
-static method error() → asy::Stream<FutureOr<self::Class*>*>* async* {
+static method error() → asy::Stream<FutureOr<self::Class>> async* {
yield invalid-expression "pkg/front_end/testcases/general/stream_future.dart:18:9: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'FutureOr<Class>'.
- 'Future' is from 'dart:async'.
- 'Class' is from 'pkg/front_end/testcases/general/stream_future.dart'.
yield returnFutureDynamic();
- ^" in self::returnFutureDynamic() as{TypeError} FutureOr<self::Class*>*;
+ ^" in self::returnFutureDynamic() as{TypeError,ForNonNullableByDefault} FutureOr<self::Class>;
}
-static method stream() → asy::Stream<FutureOr<self::Class*>*>* async* {
- yield self::returnDynamic() as{TypeError,ForDynamic} FutureOr<self::Class*>*;
+static method stream() → asy::Stream<FutureOr<self::Class>> async* {
+ yield self::returnDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<self::Class>;
yield self::returnClass();
yield self::returnFutureClass();
}
static method main() → dynamic async {
- await for (FutureOr<self::Class*>* cls in self::stream()) {
+ await for (FutureOr<self::Class>cls in self::stream()) {
core::print(cls);
}
}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect
index f45cc85..cc394d3 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
@@ -6,30 +6,20 @@
import "dart:async";
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method returnDynamic() → dynamic
;
-static method returnClass() → self::Class*
+static method returnClass() → self::Class
;
-static method returnFutureDynamic() → asy::Future<dynamic>* async
+static method returnFutureDynamic() → asy::Future<dynamic> async
;
-static method returnFutureClass() → asy::Future<self::Class*>* async
+static method returnFutureClass() → asy::Future<self::Class> async
;
-static method error() → asy::Stream<FutureOr<self::Class*>*>* async*
+static method error() → asy::Stream<FutureOr<self::Class>> async*
;
-static method stream() → asy::Stream<FutureOr<self::Class*>*>* async*
+static method stream() → asy::Stream<FutureOr<self::Class>> async*
;
static method main() → dynamic async
;
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
index 7730f84..d609d5a 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -16,31 +16,21 @@
import "dart:async";
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method returnDynamic() → dynamic
return new self::Class::•();
-static method returnClass() → self::Class*
+static method returnClass() → self::Class
return new self::Class::•();
-static method returnFutureDynamic() → asy::Future<dynamic>* /* originally async */ {
- final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+static method returnFutureDynamic() → asy::Future<dynamic> /* originally async */ {
+ final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
@@ -52,22 +42,22 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
-static method returnFutureClass() → asy::Future<self::Class*>* /* originally async */ {
- final asy::_Future<self::Class*>* :async_future = new asy::_Future::•<self::Class*>();
+static method returnFutureClass() → asy::Future<self::Class> /* originally async */ {
+ final asy::_Future<self::Class> :async_future = new asy::_Future::•<self::Class>();
core::bool* :is_sync = false;
self::Class? :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
@@ -79,21 +69,21 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
-static method error() → asy::Stream<FutureOr<self::Class*>*>* /* originally async* */ {
- asy::_AsyncStarStreamController<FutureOr<self::Class*>*>* :controller;
+static method error() → asy::Stream<FutureOr<self::Class>> /* originally async* */ {
+ asy::_AsyncStarStreamController<FutureOr<self::Class>>? :controller;
dynamic :controller_stream;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
@@ -106,14 +96,14 @@
- 'Future' is from 'dart:async'.
- 'Class' is from 'pkg/front_end/testcases/general/stream_future.dart'.
yield returnFutureDynamic();
- ^" in self::returnFutureDynamic() as{TypeError} FutureOr<self::Class*>*){(FutureOr<self::Class*>*) → core::bool})
+ ^" in self::returnFutureDynamic() as{TypeError,ForNonNullableByDefault} FutureOr<self::Class>){(FutureOr<self::Class>) → core::bool})
return null;
else
[yield] null;
}
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
:controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
@@ -121,16 +111,16 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class*>*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class*>*>};
+ :controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class>>(:async_op);
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class>>};
return :controller_stream;
}
-static method stream() → asy::Stream<FutureOr<self::Class*>*>* /* originally async* */ {
- asy::_AsyncStarStreamController<FutureOr<self::Class*>*>* :controller;
+static method stream() → asy::Stream<FutureOr<self::Class>> /* originally async* */ {
+ asy::_AsyncStarStreamController<FutureOr<self::Class>>? :controller;
dynamic :controller_stream;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
@@ -139,22 +129,22 @@
try {
#L4:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnDynamic() as{TypeError,ForDynamic} FutureOr<self::Class*>*){(FutureOr<self::Class*>*) → core::bool})
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<self::Class>){(FutureOr<self::Class>) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnClass()){(FutureOr<self::Class*>*) → core::bool})
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnClass()){(FutureOr<self::Class>) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnFutureClass()){(FutureOr<self::Class*>*) → core::bool})
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnFutureClass()){(FutureOr<self::Class>) → core::bool})
return null;
else
[yield] null;
}
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
:controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
@@ -162,17 +152,17 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class*>*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class*>*>};
+ :controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class>>(:async_op);
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class>>};
return :controller_stream;
}
static method main() → dynamic /* originally async */ {
- final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+ final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
@@ -183,15 +173,15 @@
#L5:
{
{
- asy::Stream<FutureOr<self::Class*>*>* :stream = self::stream();
- asy::_StreamIterator<FutureOr<self::Class*>*>* :for-iterator = new asy::_StreamIterator::•<FutureOr<self::Class*>*>(:stream);
+ asy::Stream<FutureOr<self::Class>> :stream = self::stream();
+ asy::_StreamIterator<FutureOr<self::Class>>? :for-iterator = new asy::_StreamIterator::•<FutureOr<self::Class>>(:stream);
try
#L6:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
[yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
if(_in::unsafeCast<core::bool>(:result_or_exception)) {
- FutureOr<self::Class*>* cls = :for-iterator.{asy::_StreamIterator::current}{FutureOr<self::Class*>*};
+ FutureOr<self::Class>cls = :for-iterator.{asy::_StreamIterator::current}{FutureOr<self::Class>};
{
core::print(cls);
}
@@ -200,7 +190,7 @@
break #L6;
}
finally
- if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<FutureOr<self::Class*>*>?} == null)) {
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<FutureOr<self::Class>>?} == null)) {
[yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
:result_or_exception;
}
@@ -209,12 +199,12 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart b/pkg/front_end/testcases/general/stringliteral.dart
index 52791ab..bb1bc643 100644
--- a/pkg/front_end/testcases/general/stringliteral.dart
+++ b/pkg/front_end/testcases/general/stringliteral.dart
@@ -1,11 +1,12 @@
// Copyright (c) 2016, 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.
+
var color = 'brown';
var thing = 'lazy dog';
var phrase = "The quick $color fox\njumped over the $thing.\n";
var adjacent = '$color$color$color';
var linebreaks = '$color\n$color\n$color';
var other = '$color\n is \n$color';
-// @dart=2.9
+
main() {}
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart b/pkg/front_end/testcases/general/super_access_in_initializer.dart
index ee351d0..2bab9f4 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
class Super {
bool get property => true;
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
index 90a2cf1..5548e99 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Super {
bool get property => true;
Super(bool value);
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
index 94cf602..b009d58 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Class extends Super {
Class(bool value)
: assert(property),
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect
index 651a9c4..f632d17 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,25 +22,15 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor •(core::bool* value) → self::Super*
+ constructor •(core::bool value) → self::Super
: super core::Object::•()
;
- get property() → core::bool*
+ get property() → core::bool
return true;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class extends self::Super {
- field core::bool* field;
- constructor •(core::bool* value) → self::Class*
+ field core::bool field;
+ constructor •(core::bool value) → self::Class
: assert(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:15:16: Error: Undefined name 'property'.
: assert(property),
^^^^^^^^"), self::Class::field = invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:16:22: Error: Undefined name 'property'.
@@ -49,7 +39,7 @@
super(property);
^^^^^^^^")
;
- constructor redirect() → self::Class*
+ constructor redirect() → self::Class
: this self::Class::•(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:19:27: Error: Undefined name 'property'.
Class.redirect() : this(property);
^^^^^^^^")
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.modular.expect
index 651a9c4..f632d17 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,25 +22,15 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor •(core::bool* value) → self::Super*
+ constructor •(core::bool value) → self::Super
: super core::Object::•()
;
- get property() → core::bool*
+ get property() → core::bool
return true;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class extends self::Super {
- field core::bool* field;
- constructor •(core::bool* value) → self::Class*
+ field core::bool field;
+ constructor •(core::bool value) → self::Class
: assert(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:15:16: Error: Undefined name 'property'.
: assert(property),
^^^^^^^^"), self::Class::field = invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:16:22: Error: Undefined name 'property'.
@@ -49,7 +39,7 @@
super(property);
^^^^^^^^")
;
- constructor redirect() → self::Class*
+ constructor redirect() → self::Class
: this self::Class::•(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:19:27: Error: Undefined name 'property'.
Class.redirect() : this(property);
^^^^^^^^")
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect
index 3b22099..0dda552 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Super extends core::Object {
- constructor •(core::bool* value) → self::Super*
+ constructor •(core::bool value) → self::Super
;
- get property() → core::bool*
+ get property() → core::bool
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class extends self::Super {
- field core::bool* field;
- constructor •(core::bool* value) → self::Class*
+ field core::bool field;
+ constructor •(core::bool value) → self::Class
;
- constructor redirect() → self::Class*
+ constructor redirect() → self::Class
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect
index 651a9c4..f632d17 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,25 +22,15 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor •(core::bool* value) → self::Super*
+ constructor •(core::bool value) → self::Super
: super core::Object::•()
;
- get property() → core::bool*
+ get property() → core::bool
return true;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class extends self::Super {
- field core::bool* field;
- constructor •(core::bool* value) → self::Class*
+ field core::bool field;
+ constructor •(core::bool value) → self::Class
: assert(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:15:16: Error: Undefined name 'property'.
: assert(property),
^^^^^^^^"), self::Class::field = invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:16:22: Error: Undefined name 'property'.
@@ -49,7 +39,7 @@
super(property);
^^^^^^^^")
;
- constructor redirect() → self::Class*
+ constructor redirect() → self::Class
: this self::Class::•(invalid-expression "pkg/front_end/testcases/general/super_access_in_initializer.dart:19:27: Error: Undefined name 'property'.
Class.redirect() : this(property);
^^^^^^^^")
diff --git a/pkg/front_end/testcases/general/super_call.dart b/pkg/front_end/testcases/general/super_call.dart
index 0ba2666..fe0edf0 100644
--- a/pkg/front_end/testcases/general/super_call.dart
+++ b/pkg/front_end/testcases/general/super_call.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
class A {
int call(int x) => x * 2;
}
diff --git a/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
index c9282f5..08fd0e2 100644
--- a/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
int call(int x) => x * 2;
}
diff --git a/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
index c9282f5..08fd0e2 100644
--- a/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
int call(int x) => x * 2;
}
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.expect b/pkg/front_end/testcases/general/super_call.dart.weak.expect
index 1e7e27c..895bf30 100644
--- a/pkg/front_end/testcases/general/super_call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.expect
@@ -1,34 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(2){(core::num*) →* core::int*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call(core::int x) → core::int
+ return x.{core::num::*}(2){(core::num) → core::int};
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(3){(core::num*) →* core::int*};
- method call_super() → core::int* {
+ method call(core::int x) → core::int
+ return x.{core::num::*}(3){(core::num) → core::int};
+ method call_super() → core::int {
return super.{self::A::call}(5);
}
}
static method main() → dynamic {
- assert(new self::B::•().{self::B::call_super}(){() →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 10);
+ assert(new self::B::•().{self::B::call_super}(){() → core::int} =={core::num::==}{(core::Object) → core::bool} 10);
}
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.modular.expect b/pkg/front_end/testcases/general/super_call.dart.weak.modular.expect
index 1e7e27c..895bf30 100644
--- a/pkg/front_end/testcases/general/super_call.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.modular.expect
@@ -1,34 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(2){(core::num*) →* core::int*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call(core::int x) → core::int
+ return x.{core::num::*}(2){(core::num) → core::int};
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(3){(core::num*) →* core::int*};
- method call_super() → core::int* {
+ method call(core::int x) → core::int
+ return x.{core::num::*}(3){(core::num) → core::int};
+ method call_super() → core::int {
return super.{self::A::call}(5);
}
}
static method main() → dynamic {
- assert(new self::B::•().{self::B::call_super}(){() →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 10);
+ assert(new self::B::•().{self::B::call_super}(){() → core::int} =={core::num::==}{(core::Object) → core::bool} 10);
}
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.outline.expect b/pkg/front_end/testcases/general/super_call.dart.weak.outline.expect
index 5ec03c1..0fcdffb 100644
--- a/pkg/front_end/testcases/general/super_call.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.outline.expect
@@ -1,29 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- method call(core::int* x) → core::int*
+ method call(core::int x) → core::int
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- method call(core::int* x) → core::int*
+ method call(core::int x) → core::int
;
- method call_super() → core::int*
+ method call_super() → core::int
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
index 1e7e27c..895bf30 100644
--- a/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
@@ -1,34 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(2){(core::num*) →* core::int*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call(core::int x) → core::int
+ return x.{core::num::*}(2){(core::num) → core::int};
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
- method call(core::int* x) → core::int*
- return x.{core::num::*}(3){(core::num*) →* core::int*};
- method call_super() → core::int* {
+ method call(core::int x) → core::int
+ return x.{core::num::*}(3){(core::num) → core::int};
+ method call_super() → core::int {
return super.{self::A::call}(5);
}
}
static method main() → dynamic {
- assert(new self::B::•().{self::B::call_super}(){() →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 10);
+ assert(new self::B::•().{self::B::call_super}(){() → core::int} =={core::num::==}{(core::Object) → core::bool} 10);
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart b/pkg/front_end/testcases/general/super_nsm.dart
index b94b99e..d4cfc6d 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart
+++ b/pkg/front_end/testcases/general/super_nsm.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, 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.
-// @dart=2.9
+
abstract class I {
interfaceMethod();
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
index c9c9e06..39c0416 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class I {
interfaceMethod();
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
index f127290..8dcf482 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class I {
interfaceMethod();
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.weak.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
index 671d437..214ac1e 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
@@ -1,53 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class I extends core::Object {
- synthetic constructor •() → self::I*
+ synthetic constructor •() → self::I
: super core::Object::•()
;
abstract method interfaceMethod() → dynamic;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object implements self::I {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "C";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method interfaceMethod() → dynamic
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
+ return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} dynamic;
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "D";
method dMethod() → dynamic
return super.{self::C::interfaceMethod}();
}
static method main() → dynamic {
- dynamic result = new self::D::•().{self::D::dMethod}(){() →* dynamic};
- if(!(result =={core::Object::==}{(core::Object*) →* core::bool*} "D"))
+ dynamic result = new self::D::•().{self::D::dMethod}(){() → dynamic};
+ if(!(result =={core::Object::==}{(core::Object) → core::bool} "D"))
throw "Expected 'D' but got: '${result}'";
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.weak.modular.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.modular.expect
index 671d437..214ac1e 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.weak.modular.expect
@@ -1,53 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class I extends core::Object {
- synthetic constructor •() → self::I*
+ synthetic constructor •() → self::I
: super core::Object::•()
;
abstract method interfaceMethod() → dynamic;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object implements self::I {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "C";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method interfaceMethod() → dynamic
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
+ return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} dynamic;
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "D";
method dMethod() → dynamic
return super.{self::C::interfaceMethod}();
}
static method main() → dynamic {
- dynamic result = new self::D::•().{self::D::dMethod}(){() →* dynamic};
- if(!(result =={core::Object::==}{(core::Object*) →* core::bool*} "D"))
+ dynamic result = new self::D::•().{self::D::dMethod}(){() → dynamic};
+ if(!(result =={core::Object::==}{(core::Object) → core::bool} "D"))
throw "Expected 'D' but got: '${result}'";
}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect
index 436dba3..a2bcec4 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect
@@ -1,43 +1,24 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class I extends core::Object {
- synthetic constructor •() → self::I*
+ synthetic constructor •() → self::I
;
abstract method interfaceMethod() → dynamic;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object implements self::I {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method interfaceMethod() → dynamic
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
+ return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} dynamic;
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
;
method dMethod() → dynamic
;
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect
index 671d437..214ac1e 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect
@@ -1,53 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class I extends core::Object {
- synthetic constructor •() → self::I*
+ synthetic constructor •() → self::I
: super core::Object::•()
;
abstract method interfaceMethod() → dynamic;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object implements self::I {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "C";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method interfaceMethod() → dynamic
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
+ return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} dynamic;
}
class D extends self::C {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super self::C::•()
;
- method noSuchMethod(core::Invocation* _) → dynamic
+ method noSuchMethod(core::Invocation _) → dynamic
return "D";
method dMethod() → dynamic
return super.{self::C::interfaceMethod}();
}
static method main() → dynamic {
- dynamic result = new self::D::•().{self::D::dMethod}(){() →* dynamic};
- if(!(result =={core::Object::==}{(core::Object*) →* core::bool*} "D"))
+ dynamic result = new self::D::•().{self::D::dMethod}(){() → dynamic};
+ if(!(result =={core::Object::==}{(core::Object) → core::bool} "D"))
throw "Expected 'D' but got: '${result}'";
}
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart b/pkg/front_end/testcases/general/super_set_abstract.dart
index a77248f..2bc0c7d 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, 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.
-// @dart=2.9
+
class SuperClass {
void set setter(int o) {}
}
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
index c75d50d..0310022 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class SuperClass {
void set setter(int o) {}
}
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
index 11095ba..2833ed3 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Class extends SuperClass {
void set setter(Object o);
}
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect
index 096efc9..3585745 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,35 +10,25 @@
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::int* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- abstract set setter(core::Object* o) → void;
+ abstract set setter(core::Object o) → void;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(core::Object* o) → void {
+ set setter(core::Object o) → void {
super.{self::SuperClass::setter} = invalid-expression "pkg/front_end/testcases/general/super_set_abstract.dart:15:24: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
super.setter = '\$o';
- ^" in "${o}" as{TypeError} core::int*;
+ ^" in "${o}" as{TypeError,ForNonNullableByDefault} core::int;
}
}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.modular.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.modular.expect
index 096efc9..3585745 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,35 +10,25 @@
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::int* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- abstract set setter(core::Object* o) → void;
+ abstract set setter(core::Object o) → void;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(core::Object* o) → void {
+ set setter(core::Object o) → void {
super.{self::SuperClass::setter} = invalid-expression "pkg/front_end/testcases/general/super_set_abstract.dart:15:24: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
super.setter = '\$o';
- ^" in "${o}" as{TypeError} core::int*;
+ ^" in "${o}" as{TypeError,ForNonNullableByDefault} core::int;
}
}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect
index 265157d..8a4084c 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect
@@ -1,32 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
;
- set setter(core::int* o) → void
+ set setter(core::int o) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
;
- abstract set setter(core::Object* o) → void;
+ abstract set setter(core::Object o) → void;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
;
- set setter(core::Object* o) → void
+ set setter(core::Object o) → void
;
}
static method test() → dynamic
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect
index 096efc9..3585745 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,35 +10,25 @@
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::int* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- abstract set setter(core::Object* o) → void;
+ abstract set setter(core::Object o) → void;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(core::Object* o) → void {
+ set setter(core::Object o) → void {
super.{self::SuperClass::setter} = invalid-expression "pkg/front_end/testcases/general/super_set_abstract.dart:15:24: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
super.setter = '\$o';
- ^" in "${o}" as{TypeError} core::int*;
+ ^" in "${o}" as{TypeError,ForNonNullableByDefault} core::int;
}
}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart b/pkg/front_end/testcases/general/super_set_covariant.dart
index a7d4d45..f2e1229 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart
@@ -2,8 +2,6 @@
// 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.
-// @dart=2.9
-
class SuperClass {
void set setter(Object o) {}
}
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
index f611304..8a079ae 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class SuperClass {
void set setter(Object o) {}
}
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
index 8ec925e..b6f108c 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Class extends SuperClass {
void set setter(covariant int o);
}
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect
index fede2f5..8b391e4 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect
@@ -1,35 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::Object* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::Object o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- forwarding-stub forwarding-semi-stub set /* signature-type: (core::int*) →* void */ setter(covariant-by-declaration core::Object* o) → void
+ forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ setter(covariant-by-declaration core::Object o) → void
return super.{self::SuperClass::setter} = o;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(covariant-by-declaration core::int* o) → void {
+ set setter(covariant-by-declaration core::int o) → void {
super.{self::Class::setter} = "${o}";
}
}
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.modular.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.modular.expect
index fede2f5..8b391e4 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.modular.expect
@@ -1,35 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::Object* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::Object o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- forwarding-stub forwarding-semi-stub set /* signature-type: (core::int*) →* void */ setter(covariant-by-declaration core::Object* o) → void
+ forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ setter(covariant-by-declaration core::Object o) → void
return super.{self::SuperClass::setter} = o;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(covariant-by-declaration core::int* o) → void {
+ set setter(covariant-by-declaration core::int o) → void {
super.{self::Class::setter} = "${o}";
}
}
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect
index 84045f4..c2a93cb 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect
@@ -1,33 +1,23 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
;
- set setter(core::Object* o) → void
+ set setter(core::Object o) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
;
- forwarding-stub forwarding-semi-stub set /* signature-type: (core::int*) →* void */ setter(covariant-by-declaration core::Object* o) → void
+ forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ setter(covariant-by-declaration core::Object o) → void
return super.{self::SuperClass::setter} = o;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
;
- set setter(covariant-by-declaration core::int* o) → void
+ set setter(covariant-by-declaration core::int o) → void
;
}
static method test() → dynamic
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect
index fede2f5..8b391e4 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect
@@ -1,35 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class SuperClass extends core::Object {
- synthetic constructor •() → self::SuperClass*
+ synthetic constructor •() → self::SuperClass
: super core::Object::•()
;
- set setter(core::Object* o) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::Object o) → void {}
}
abstract class Class extends self::SuperClass {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::SuperClass::•()
;
- forwarding-stub forwarding-semi-stub set /* signature-type: (core::int*) →* void */ setter(covariant-by-declaration core::Object* o) → void
+ forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ setter(covariant-by-declaration core::Object o) → void
return super.{self::SuperClass::setter} = o;
}
class SubClass extends self::Class {
- synthetic constructor •() → self::SubClass*
+ synthetic constructor •() → self::SubClass
: super self::Class::•()
;
- set setter(covariant-by-declaration core::int* o) → void {
+ set setter(covariant-by-declaration core::int o) → void {
super.{self::Class::setter} = "${o}";
}
}
diff --git a/tools/VERSION b/tools/VERSION
index fff819f..bdb6626 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 186
+PRERELEASE 187
PRERELEASE_PATCH 0
\ No newline at end of file